DOBON.NET DOBON.NETプログラミング掲示板過去ログ

Oracleとの接続でエラー

環境/言語:[XP/VB.NET]
分類:[.NET]

VB.NETでOracleとの接続を行おうとすると下記の箇所でエラーが出て接続できないのですが、何が原因なのでしょうか?ちなみにOSがXPだとダメで2000だとうまくいきます。エラーメッセージは”ORA-00936:式がありません”と出ます。
よろしくお願いします。


Dim cmd As OracleCommand = New OracleCommand()
Dim rdr As OracleDataReader
Dim SQL As String

SQL = "SELECT・・・・"       <−適当なSQL文

cmd.CommandText = SQL
cmd.CommandType = CommandType.Text
cmd.Connection = mobjDB      <−OracleConnection
rdr = cmd.ExecuteReader()     <−ここでエラーになる。
単にSQL文が間違っているだけではないでしょうか?
SQLが正しくないと、エラー「ORA-00936:式がありません」になります。
SQL文のフィールド名が全角文字を使用しているのですが、これだとXPではうまく動かないのでしょうか?

例  SQL = "SELECT"
SQL = SQL & " 名前"
SQL = SQL & " FROM MEIBO_TBL"
SQL = SQL & " WHERE 会社ID=" & Wstr
日本語項目名は、"か'でくくらないと、だめだったような気がします。
下記のように取得フィールド名に'を入れたら動きました。

例  SQL = "SELECT"
   SQL = SQL & " '名前'"
SQL = SQL & " FROM MEIBO_TBL"
SQL = SQL & " WHERE 会社ID=" & Wstr


ただ、下記のようにWHERE句のフィールド名にも'を入れるとエラーになる。
これはどうしてなのでしょうか?
何度も大変申し訳ありません。

例  SQL = "SELECT"
   SQL = SQL & " '名前'"
SQL = SQL & " FROM MEIBO_TBL"
SQL = SQL & " WHERE '会社ID'=" & Wstr
自分では、日本語列名を使用した経験はないのですが、
よその掲示板では、「"」でくくるのが良い、ということになっています。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=11491&forum=7&5
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=5170&forum=7&8
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=11576&forum=7&6
無事に動かすことが出来ました。
ご助言下さったNowhereManさん、永遠の初心者?さん
本当にありがとうございました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板