(現在 過去ログ32 を表示中)

HOME HELP 新規作成 新着記事 トピック表示 ファイル一覧 検索 過去ログ

[ 最新記事及び返信フォームをトピックトップへ ]

■5009 / inTopicNo.1)  外部DBの表示項目名
  
□投稿者/ うにん -(2009/08/24(Mon) 16:27:23)
    桐9-2009なんですが、前から変わってないと思います。
    外部DBで、(すべて)を選択したときに表示項目名が「表.項目」になるのですが、
    この「表.」を付けない設定はないのでしょうか。
    せっかく桐の項目名を外部DBと合わせてあっても読込とかで照合できなくなってしまうので悲しい。
    複数表で重複しないようにってのはわかりますけど実際に使ってる表は1つだけだし。
引用返信 [メール受信/OFF] 削除キー/
■5010 / inTopicNo.2)  Re[1]: 外部DBの表示項目名
□投稿者/ hidetake -(2009/08/24(Mon) 17:16:32)
    2009/08/24(Mon) 17:24:57 編集(投稿者)

    > 外部DBで、(すべて)を選択したときに表示項目名が「表.項目」になるのですが、
    > この「表.」を付けない設定はないのでしょうか。

    外部DBの対象表で「(すべて)」をドラッグする限り
    対象表名はついてくるようです。
    それがイヤなら、対象表のところで右クリックして
    「全項目の選択」もしくは Ctrl + A で全ての項目
    を選択状態にしてドラッグで、要は項目を1つ単位
    で表示項目に指定するしか無いと思います。

    また、こういうやり方をしないで「(すべて)」での
    指定では、外部DB の種類によってはエラーとなる
    場合もあったかと思います。なお、これは、外部DB
    に対する大文字小文字の桐のバグ(対策)です。
    PostgreSQL のテーブル名が TEST と大文字の場合
    「(すべて)」で選んでしまうと、桐は
    SELECT TEST.* FROM "TEST"
    と SQL を投げかけます。
    "" で括るのが中途半端で TEST.* の方は、小文字の
    test テーブルが呼び出されたように PostgreSQL 側
    で処理されてしまいます。

    なので、自分は「(すべて)」で指定することはやめて
    「(すべて)」を指定したい場合も全ての項目を選択し
    ドラッグしています。



    追加
    テーブル名にスペースを含む場合も PostgreSQL では
    問題になります。テーブル名が「TEST TABLE」として
    桐は SQL Server や Access に対しては
    SELECT 1.* FROM "TEST TABLE" AS 1 /* +UNDEFZERO */
    のように別名を使うので問題が生じませんが、
    PostgreSQL に対しては
    SELECT TEST TABLE.* FROM "TEST TABLE"
    となってしまうわけです。なので「(すべて)」を使うと
    やっかいです。

引用返信 [メール受信/OFF] 削除キー/
■5011 / inTopicNo.3)  Re[2]: 外部DBの表示項目名
□投稿者/ うにん -(2009/08/24(Mon) 20:20:13)

    > それがイヤなら、対象表のところで右クリックして
    > 「全項目の選択」もしくは Ctrl + A で全ての項目
    > を選択状態にしてドラッグ

    これで我慢します。

    > テーブル名にスペースを含む場合も PostgreSQL では
    > 問題になります。

    さすがにそういう名前を付けようとは思わないので大丈夫かな。
    もしかして桐で使う場合は日本語名にした方が却って安全?


引用返信 [メール受信/OFF] 削除キー/
■5012 / inTopicNo.4)  Re[3]: 外部DBの表示項目名
□投稿者/ hidetake -(2009/08/25(Tue) 16:08:17)
    >>テーブル名にスペースを含む場合も PostgreSQL では
    >>問題になります。
    >
    > さすがにそういう名前を付けようとは思わないので大丈夫かな。
    > もしかして桐で使う場合は日本語名にした方が却って安全?
    >

    その辺は何とも? (^^;

    自分の場合、桐のデータを Web で利用するために PostgreSQL に
    データを移し利用しており、項目名はそのまま漢字で使用していま
    すが、テーブル名はさすがに漢字は使っていませんでした。

    まぁ〜、桐の場合、SELECT での問題もありますが、外部DB書き出し
    の時のテーブル名の取り扱い(大文字小文字関連)で、PostgreSQL に
    対しては「追加」で書き出す際の問題もあるので、何を使おうとも
    何らかの制限は出て来ると思っています。



    と思いながらも、念のためにテストしてみました。(PostgrSQLで)

    テーブル名に大文字を使うと抽出での「(全て)」の問題あり、
    書き出しの追加は可能。

    テーブル名に小文字を使うと抽出での「(全て)」の問題ない、
    書き出しの追加はエラー
    (古いドライバーでは勝手に上書きされたし、他のDBでも同様な
    経験もあり)


    で、テーブル名に漢字を使うと、・・・
    両方ともいけました! (^^)
    少なくとも PostgreSQL 相手には、漢字を含めて、大文字小文字の
    区別の存在しない文字を使うのが吉なのかかも?知れません。
    ホントかな?
    # 他に問題が出そうな気もしますが。


引用返信 [メール受信/OFF] 削除キー/
■5014 / inTopicNo.5)  Re[4]: 外部DBの表示項目名
□投稿者/ うにん -(2009/08/25(Tue) 16:26:58)
    > # 他に問題が出そうな気もしますが。

    名前の問題じゃないけど、追加書き出しすると長さのあふれた文字列は自動的に捨てられますね。
    最初に全角2文字を書き出すとcharacter(4)になって、追加で全角4文字書き出すと
    2文字しか入ってない。(pgsqlはUTF-8だと4文字入るが桐はSJISのバイト数で計算してる)
    データ型のマッピング機能がほしいですね。
引用返信 [メール受信/OFF] 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

Mode/  Pass/

HOME HELP 新規作成 新着記事 トピック表示 ファイル一覧 検索 過去ログ

- Child Tree -
- Antispam Version -