- - PR -
InformixのSQL文字制限
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-09-24 14:12
ODBC + Informixの環境で、
SQL文にて、クエリをとってきたいのですが、以下のような文を ODBC関数SQLEXECDIRECTにて行っても、Syntax errorが帰ってきてしまいます。 SELECT department_id, MIN(CASE WHEN department_name = 'Administration' THEN manager_id ELSE NULL END) RAdministration , MIN(CASE WHEN department_name = 'Construction' THEN manager_id ELSE NULL END) RConstruction , MIN(CASE WHEN department_name = 'Contracting' THEN manager_id ELSE NULL END) RContracting , MIN(CASE WHEN department_name = 'Government Sales' THEN manager_id ELSE NULL END) RGovernment Sales , MIN(CASE WHEN department_name = 'IT Helpdesk' THEN manager_id ELSE NULL END) RIT Helpdesk , MIN(CASE WHEN department_name = 'IT Support' THEN manager_id ELSE NULL END) RIT Support , MIN(CASE WHEN department_name = 'Manufacturing' THEN manager_id ELSE NULL END) RManufacturing , MIN(CASE WHEN department_name = 'Marketing' THEN manager_id ELSE NULL END) RMarketing , MIN(CASE WHEN department_name = 'NOC' THEN manager_id ELSE NULL END) RNOC , MIN(CASE WHEN department_name = 'Operations' THEN manager_id ELSE NULL END) ROperations , MIN(CASE WHEN department_name = 'Payroll' THEN manager_id ELSE NULL END) RPayroll FROM TMP1 GROUP BY department_id ただし、この場合、MINで作った列が3つまでならクエリをとってくることができました。 Informixの場合、SQLに文字列制限があるとすればそれは相当短いのでしょうか。 ちなみに、上記はDBACCESSでやろうとすると、バッファが足りないというエラーで 実行できませんでした。 もし、SQL文に制限があるのならばどれくらいなのか知ってらっしゃる方 教えてください。 |
|
投稿日時: 2004-09-27 12:37
RGovernment Sales とか RIT Helpdesk 別名表示に使っていると思いますが、
RGovernment_Sales とか RIT_Helpdesk にすればエラーにならないと思いますが。。 |
|
投稿日時: 2004-09-29 19:49
いや、そうではないと思います。
その別名の列をアンダーバーにするかしないかにかかわらず、 使えますが、そうではなくてSQL文が1024BYTEしか使えないのが問題です。 そのために、環境設定が必要だと思うのですが、どうすればいいでしょうか。 |
|
投稿日時: 2004-09-30 09:34
Informix は何をお使いなのでしょうか?
Informix Dynamic Server Informix OnLine 後はInformix SE のどれかと思いますが・・・・。 Informix Dynamic Server V9 で試してみましたが列の別名でエラーになりました。 |
|
投稿日時: 2004-09-30 09:44
IDSは今はV9.3を使っています。
GLSの設定などSetnet32をうまく使えばいいんでしょうか。 |
|
投稿日時: 2004-10-01 09:45
1024Byteの制限って効いたことは無いですが
それぞれ利用しているバージョンを教えて下さい。 IDS9.3 OSは I-Connect 及び ODBC のバージョン及びOS 環境情報をもう少し教えてください。 現在入手できる最新は I-Connect 2.81TC3 ODBC3.82TC3です。 IIUGの情報を見るとODBC 3.34に1024のバグが有るみたいです。 |
|
投稿日時: 2004-10-01 10:03
お返事ありがとうございます。
ODBCドライバですが、IBM INFORMIX3.82 32BIT です。 インストールしたクライアント製品はIBM INFORMIX Client SDK2.81です。 症状は長いSQL文をODBC関数のSQLEXECDIRECTにて使うと、Syntax error occuredが出てしまうことです。 |
|
投稿日時: 2004-10-01 10:06
OS環境ですが、INFORMIXv93のOSはsolaris5.8です。
クライアントはWINXP PROです。 |