[解決済み] SQL Server は「無効なカラム名」を報告するが、カラムは存在し、マネージメントスタジオでクエリが動作する
質問
ちょっと行き詰まりました。私は、いくつかの
C#
のコードがあります。このクエリは
Microsoft SQL Server Management Studio
を同じデータベースに対して実行した場合。
しかし、私のコードで同じクエリを実行しようとすると、無効なカラムに関する同じエラーが表示され、例外がスローされます。このカラムを参照するクエリーはすべて失敗しています。
問題のカラムは、最近データベースに追加されました。という日付カラムです。
Incident_Begin_Time_ts
.
失敗する例としては
select * from PerfDiag
where Incident_Begin_Time_ts > '2010-01-01 00:00:00';
のような他のクエリもあります。
Select MAX(Incident_Being_Time_ts);
も、コードで実行すると、カラムがないと判断して失敗します。
何か思い当たることはありますか?
解決方法は?
同じ名前のテーブルが2つあるのではないでしょうか?1つはスキーマ 'dbo' が所有している (
dbo.PerfDiag
)、もう一方はSQL Serverへの接続に使用されるアカウントのデフォルトスキーマが所有するものです(以下のようなものです。
userid.PerfDiag
).
スキーマオブジェクト(テーブルなど)に対する非修飾の参照(スキーマ名で修飾されていない参照)がある場合、オブジェクトの参照を解決する必要があります。名前の解決は、指定された名前を持つ適切な型(テーブル)のオブジェクトを以下の順序で検索することで行われます。名前は最初に一致したものに解決される。
- ユーザーのデフォルトスキーマの下で。
- スキーマ'dbo'の下にあります。
非限定参照は、上記のシーケンスで最初のマッチにバインドされます。
一般的な推奨事項として、次のようにします。 常に パフォーマンス上の理由から、スキーマオブジェクトへの参照を修飾します。
-
なぜなら、ストアドプロシージャやクエリを実行する認証情報によって、参照先のスキーマが変更される可能性があるからです。この結果、クエリやストアドプロシージャが再コンパイルされ、パフォーマンスが低下します。再コンパイルにより、コンパイルロックが解除され、他の人が必要なリソースにアクセスするのをブロックすることになります。
-
名前解決は、オブジェクトの可能性の高いバージョン('dbo'が所有するもの)に解決するために2つのプローブが必要なため、クエリの実行が遅くなります。これは通常の場合です。1つのプローブで名前解決ができるのは、現在のユーザーが指定された名前と型のオブジェクトを所有している場合だけです。
[さらに注意を喚起するために編集]。
その他の可能性としては(順不同)。
- あなたが思っているデータベースには接続されていません。
- あなたが考えているSQL Serverインスタンスに接続されていません。
接続文字列を再確認し、SQL Serverインスタンス名とデータベース名を明示的に指定していることを確認してください。
関連
-
[解決済み] varchar データ型から datetime データ型に変換すると、SQL クエリで範囲外の値が発生する
-
[解決済み] WHERE x IN (5) vs WHERE x = 5 ...なぜINを使うのか?
-
[解決済み] Varchar は Sum 演算子では無効です。
-
[解決済み] SQL Serverにおけるchar、nchar、varchar、nvarcharの違いは何ですか?
-
[解決済み] SQLクエリは、複数のテーブルからデータを返す
-
[解決済み] SQL Server Management Studio & Transact SQLにおけるGOの使用方法とは?
-
[解決済み] sql server invalid object name - but tables are listed in SSMS tables list.
-
[解決済み】SQL Server Management Studio 2012で主キーを自動インクリメントする。
-
[解決済み】SQL Server。クエリーは高速ですが、プロシージャから遅い
-
[解決済み】select文のDatetimeカラムをUTCからローカルタイムに変換する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Excelに合体的な関数はありますか?
-
[解決済み】PL/SQL SELECTに複数のCOUNT(DISTINCT xxx)を指定すると、予期しない結果になる。
-
[解決済み] バックエンドバージョンでは、データベースのダイアグラムやテーブルのデザインはサポートされていません。
-
[解決済み】SQL ServerでIdentityカラムを更新する方法は?
-
[解決済み】使用されるSELECT文は列の数が異なる(REDUX!)
-
[解決済み] ORA-01790: 式は、対応する式と同じデータ型でなければならないエラーが発生するケース
-
[解決済み] エラー: 名前解析スクリプトで正しい関数に渡された長さのパラメーターが無効です。
-
[解決済み] ORA-01779: キーが保存されていないテーブルにマップされる列を変更できません。
-
[解決済み] Presto SQL ピボッティング(言葉は悪いですが)データ
-
[解決済み] Ruby On Rails で NuoDB を使用して SQL コマンドを手動で実行する方法