1

SQLステートメントを使用するASP.NETアプリケーションがあり、テーブル名は修飾されていません。コンパイルすると正常に動作しますが、コンパイルしないと、これらのテーブルが存在しないと文句を言ってエラーになります。

(修飾名は次のようになりSelect * from MyDatabase.mySchema.MyTableます;

のような無資格Select * from MyTable

データベースでこれらのクエリを自分で試してみると、修飾された名前だけが使用されます。

どうしたの?コンパイル済みアプリと未コンパイルアプリは、コード的に同じように実行する必要があると思いました。

4

2 に答える 2

1

ここで「コンパイル済み」とはどういう意味ですか?

私はあなたが抱えている問題はあなたが思っていることではないと思います。セキュリティコンテキストの問題のように聞こえます。この場合、クエリを実行しているユーザーコンテキストは、デフォルトでmyschemaにクエリを渡し、他のデフォルトではdboに渡します。

于 2010-05-07T18:08:14.453 に答える
0

アプリケーションは同じように動作します。カッシーニで実行する場合とIISで実行する場合の違いについて話していると思いますか?

その場合は、接続文字列が特定のIDであり、発信者になりすましていないことを確認してください...

于 2010-05-07T18:07:50.647 に答える