DOBON.NETプログラミング掲示板過去ログ
動的 SQL 生成は、ベース テーブル情報を返さない SelectCommand ・・・の原因がわからない。
題名: 動的 SQL 生成は、ベース テーブル情報を返さない SelectCommand ・・・の原因がわからない。
著者: kiyo7447
日時: 2006/11/12 12:04:02
ID: 18210
この記事の返信元:
(なし)
この記事への返信:
(なし)
ツリーを表示
環境/言語:[.NET Framework2.0/C#/Webアプリケーション]
分類:[ASP.NET]
こんにちは。アべです。
運用しているシステムで
System.InvalidOperationException
:動的 SQL 生成は、ベース テーブル情報を返さない SelectCommand に対してサポートされていません。
が発生し困っております。
当方では何が原因で発生しているかわからないので、
どのようなクエリでDataAdapterを作成すると
このエラーが発生するか知りたいです。
ご存知の方アドバイスをお願い致します。
▼運用ソースを元に作ったテストソース
private void button1_Click(object sender, EventArgs e)
{
string query = textBox1.Text;
SqlConnection con = new SqlConnection(textBox2.Text);
SqlDataAdapter adapter = new SqlDataAdapter(query, con);
SqlCommandBuilder builder = new SqlCommandBuilder(adapter);
SqlCommand insertCommand = builder.GetInsertCommand(); ←運用ではここでエラーが発生します。
SqlCommand updateCommand = builder.GetUpdateCommand();
SqlCommand deleteCommand = builder.GetDeleteCommand();
adapter.InsertCommand = insertCommand;
adapter.UpdateCommand = updateCommand;
adapter.DeleteCommand = deleteCommand;
}
▼当方は下記のことを試してみました。
1.コネクションの問題だと下記のエラー発生する。
System.InvalidOperationException:DataAdapter.SelectCommand.Connection プロパティは初期化する必要があります。
2.SQLのエラーだと下記の問題が発生する。
SqlException :XXXXXXXXXXXXXXX
3.更新可能なデータアダプタを作れない複数テーブルのSELECT文だと下記のエラー発生する。
System.InvalidOperationException 複数のベース テーブルに対する動的 SQL の生成はサポートされません。
つまり、当方ではこのエラーがどういったケースで発生するものなのかを理解しておりません。
▼コメント
・運用では月に1,2回このエラーが発生し、ステージング環境では発生しません。
・ロジック上は普通のSELECT文(select * from tableName where primaryKey = ??)を投げているはずです。
・同じエラーを発生することが出来れば、それがヒントとなり、道が見えると思っています。
以上
DOBON.NET
|
プログラミング道
|
プログラミング掲示板
分類:[ASP.NET]
こんにちは。アべです。
運用しているシステムで
System.InvalidOperationException
:動的 SQL 生成は、ベース テーブル情報を返さない SelectCommand に対してサポートされていません。
が発生し困っております。
当方では何が原因で発生しているかわからないので、
どのようなクエリでDataAdapterを作成すると
このエラーが発生するか知りたいです。
ご存知の方アドバイスをお願い致します。
▼運用ソースを元に作ったテストソース
private void button1_Click(object sender, EventArgs e)
{
string query = textBox1.Text;
SqlConnection con = new SqlConnection(textBox2.Text);
SqlDataAdapter adapter = new SqlDataAdapter(query, con);
SqlCommandBuilder builder = new SqlCommandBuilder(adapter);
SqlCommand insertCommand = builder.GetInsertCommand(); ←運用ではここでエラーが発生します。
SqlCommand updateCommand = builder.GetUpdateCommand();
SqlCommand deleteCommand = builder.GetDeleteCommand();
adapter.InsertCommand = insertCommand;
adapter.UpdateCommand = updateCommand;
adapter.DeleteCommand = deleteCommand;
}
▼当方は下記のことを試してみました。
1.コネクションの問題だと下記のエラー発生する。
System.InvalidOperationException:DataAdapter.SelectCommand.Connection プロパティは初期化する必要があります。
2.SQLのエラーだと下記の問題が発生する。
SqlException :XXXXXXXXXXXXXXX
3.更新可能なデータアダプタを作れない複数テーブルのSELECT文だと下記のエラー発生する。
System.InvalidOperationException 複数のベース テーブルに対する動的 SQL の生成はサポートされません。
つまり、当方ではこのエラーがどういったケースで発生するものなのかを理解しておりません。
▼コメント
・運用では月に1,2回このエラーが発生し、ステージング環境では発生しません。
・ロジック上は普通のSELECT文(select * from tableName where primaryKey = ??)を投げているはずです。
・同じエラーを発生することが出来れば、それがヒントとなり、道が見えると思っています。
以上