- - PR -
unixODBCでの.付きテーブル(AS400のファイル)にアクセスするには
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-12-21 16:26
AS400のなかに.付きのテーブル(AS400でいうファイル)
があるのですが、Windows系では http://support.microsoft.com/kb/181211 ==================== 質問 : ファイル名にピリオド(.) を含んだ AS/400 ファイルにアクセスしようとすると以下のエラー メッセージが表示されます。 リレーショナル データベース <名> が現在のサーバー名 <サーバー名> と異なります。 どんな問題が発生しているのですか ? 回答 : ピリオドを含むファイル名は SQL では無効なため、SQL ステートメント上にファイル名を直接入力し、引用符で囲む必要があります (下例参照)。引用符に挟まれた文字は書かれた通りに扱われ、大文字と小文字が区別されます。 Select * FROM LIB."TEST.FILE" ===================== のように"でくくることで回避できるようなのですが linuxのODBCではどのように回避できるのでしょうか ドライバーはiSeriesAccessをいれてます。 (この問題を回避もっといいドライバーがあればぜひ教えてください、 またODBC.iniの設定で回避できるのであれば教えてください http://www-03.ibm.com/servers/eserver/iseries/access/linux/guide/odbcproperties.html に設定がありいろいろ試してはいるのですが・・・ iSQLでためして、mytableのコピー my.table を作成してもらい CDからインストールしたWINDOWSでは select * from my.table ではだめでしたが select * from "my.table" でいけました しかしLinuxだと'、`," どれで囲んでもだめです。 PHPでテーブルの一覧を出す関数を実行すると、 my.tableはテーブルとしては表示されるのですが中にアクセスできません。 (というよりそういう関数がPHPにはありません) なにかいい方法はあるでしょうか? |
1