ASP.NET编译与未编译的数据库限定符

时间:2010-05-07 18:03:09

标签: asp.net compiled

我们有一个使用SQL语句的ASP.NET应用程序,其中表名是不合格的。在编译时,它工作正常,但是当未编译时,它会抱怨和错误,说这些表不存在。

(合格的名称看起来像Select * from MyDatabase.mySchema.MyTable;

不合格,如Select * from MyTable

如果您在数据库上尝试这些查询,那么它将只采用限定名称。

发生了什么事?我认为Compiled vs Uncompiled应用程序应该以代码方式执行相同的操作。

2 个答案:

答案 0 :(得分:1)

这里的“编译”究竟是什么意思?

我不认为你遇到的问题是你认为的问题。听起来更像是一个安全上下文问题,在这种情况下,您正在执行查询的用户上下文在一种情况下默认将查询传递给myschema而另一个默认为dbo。

答案 1 :(得分:0)

应用程序的行为会相同,我的猜测是你在谈论在Cassini中运行和在IIS中运行之间的区别?

如果是这种情况,请确保您的连接字符串是特定标识,而不是冒充调用者...