作業コードの形式は次のとおりです。
string sql = "SELECT foo from myTable";
SqlCommand cmd = new SqlCommand(sql, conn);
SqlDataAdapter da = new SqlDataAdapter(cmd);
contractTable = new DataTable();
da.Fill(contractTable);
データベース スキーマが dbo から mySchema に変更されました。これはユーザーの既定のスキーマではなく、変更する管理者権限がありません。コードを実行しようとすると、次のようになります。
System.Data.SqlClient.SqlException: オブジェクト名 'myTable' が無効です。
OK、わかりました。もう見つからないので見つかりませんdbo.
。
次の行を追加してみました:
cmd.Parameters.AddWithValue("@SchemaName", 'mySchema');
しかし、それには目に見える効果はありませんでした。
次に、 SqlCommand パラメータを使用して選択クエリのスキーマ名を指定する方法に基づいて
SQLに行を追加してみました
DECLARE @SchemaName sysname
SET @SchemaName = 'mySchema'
SELECT foo FROM @SchemaName.[myTable]
しかし、SQL SELECTを実行すると、テーブル名で無効な構文エラーが発生します
これの正しい構文は何ですか?