- 締切済み
ExcelのVBAからoracleデータベースのデータ取り出しについて
ORACLEのデータベース内の列名称が英文字交じりとなり ユニコードの使用が必要みたいなのですがうまくいきません分かるかたがいらっしゃいましたら回答を御願いします。 現行 mySQL = "select 型式.仕様内容,型式.詳細内容 from A.品番 where(型式.仕様内容 like '検索内容%')" Set rec = cnn.Execute(mySQL) 変更内容 仕様内容-> 内容A 詳細内容-> 内容B 変更後 mySQL = "select 型式.内容N'C,型式.内容D from A.品番 where(型式.内容C like '検索内容%')" Set rec = cnn.Execute(mySQL) エラー表示 実行時エラー (80040e14) ORA-00923 :fromキーワードが指定の位置にありません。 と表示されます。 fromを認識させる為にはどうすればよいですか? ※N'の代わりにStrConv(対象文字,vbUnicode)を使用しても同じこととなります。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- yoshisuke
- ベストアンサー率65% (19/29)
回答No.1
エラーメッセージの内容からすると文字コードでは無く、 FROM句の問題のように見えますね。。。 一度FROM句の前後に全角のスペースが混じっていないか など、ゴミが入っていないか調べてみてはいかがでしょうか? ちなみに同じSQLはSQL*Plusでは動いたんですか?
お礼
なぜか、変更後の列名の前後に"(ダブコーテションマークだっけな?)を入れると正常に取得できるようです。 アドバイス有難うございました。
補足
回答有難うございます from句の前後及び全体を確認しましたが、半角で入力されていました。 SQL*Plusについては、DB管理者ではないため、手持ちではありません。 半角英数字が無い列については、同様のSQL文で動作しました。 なぜだかが良く分かりません、ADO以外のモジュールを利用したほうが良いのでしょうか?oo4oは、有料だしなー。 質問文に間違いがありました。 変更内容 仕様内容-> 内容C (間違い:内容A) 詳細内容-> 内容D (間違い:内容B)