- PR -

SQL文に”(ダブルコーテーション)を入れられますか?

投稿者投稿内容
nanbu
大ベテラン
会議室デビュー日: 2004/08/19
投稿数: 178
投稿日時: 2004-10-12 22:17
南部です。

とりあえず、実行してみました。
が、正常っぽいですが、、、、(エラーでませんし、結果とれるし)
OracleClientでも同様でした。

なんか再現方法違います?


こんな感じ。
CREATE TABLE "あいうえお" (
"かき" VARCHAR2(5) NOT NULL,
PRIMARY KEY("かき")
);

insert into "あいうえお" values ('02487');
commit;

で、
static void Main(string[] args)
{
string strSQL = "SELECT * FROM \"あいうえお\" WHERE \"かき\" = '02487'";
OleDbCommand cmd = new OleDbCommand(strSQL);
OleDbConnection con = new OleDbConnection("Provider=MSDAORA; 〜");
cmd.Connection = con;

try
{
con.Open();
OleDbDataReader reader = cmd.ExecuteReader();
while(reader.Read())
{
System.Console.WriteLine(reader.GetString(0));
}
reader.Close();

(略)

確認環境
Windows Server 2003
.NET Framework 1.1 SP1
Oracle9i (9.0.1.1.1)

AUST
会議室デビュー日: 2004/10/11
投稿数: 4
投稿日時: 2004-10-17 14:01
返答が遅れて申し訳在りませんでした。

回答を下さった方々色々ありがとうございました。

自分自身が混乱した状態で質問・書き込みをしてしまったために
皆様に色々とご迷惑をお掛けしたと思います。
以後、今回の様な意味不明な書き込みを行なわないよう肝に銘じる次第です。

で、原因及び結果ですが、
コネクションの部分が正常に張れておらず、
SQL文が正常に投げられていないように見えてしまったようでした。
実際にはSQL文は正常に生成されていまして、
コネクションが正常に行なわれていれば、
問題なく実行されたようです。

ま、言葉を変えれば、僕のケアレスミスです。m(_ _)m

プログラムは頭を整理した状態で作らないと
駄目ですね〜(泣)

AUST
会議室デビュー日: 2004/10/11
投稿数: 4
投稿日時: 2004-10-18 00:23
先日は色々とありがとうございました。

接続の問題でSQL文が正常に動作しないのが分かりました。
そこで、
Provider名にOraOLEDB.Oracleを利用して、
正常に動作させる事が出来たのですが、
Provider名にMSDAORAを利用すると相変わらず接続することが出来ません。
何が原因で接続できないのか分かりません。
大変申し訳ございませんが、再度お教え頂けませんでしょうか。

記述してある内容とエラーメッセージは次のとおりです。
(エラーメッセージは意味が無い内容な気がしますが…)

成功した内容:
 Provider=OraOLEDB.Oracle;data source=A;User Id=B;Password=C;PLSQLRSet=True"

失敗している内容:
 Provider=MSDAORA;Data Source=A;User ID=B;Password=C

出力されるエラーメッセージ:
 {"Oracle エラーが発生しましたが、エラー メッセージは Oracle から取得できませんでした。" }

他に必要な情報が在れば、書ける範囲で書きますので、
何卒宜しくお願いします。

スキルアップ/キャリアアップ(JOB@IT)