我们有一个使用SQL语句的ASP.NET应用程序,其中表名不合格。编译时,它可以正常工作,但是在未编译时,它抱怨错误,并说这些表不存在。ASP.NET编译与未编译的数据库限定符
(合格的名字看起来像Select * from MyDatabase.mySchema.MyTable
;
碎末状Select * from MyTable
)
如果试图在数据库上这些查询,沉住气,将采取只限定名。
发生了什么事?我认为编译与未编译的应用程序应该以代码方式执行相同的方式。
我们有一个使用SQL语句的ASP.NET应用程序,其中表名不合格。编译时,它可以正常工作,但是在未编译时,它抱怨错误,并说这些表不存在。ASP.NET编译与未编译的数据库限定符
(合格的名字看起来像Select * from MyDatabase.mySchema.MyTable
;
碎末状Select * from MyTable
)
如果试图在数据库上这些查询,沉住气,将采取只限定名。
发生了什么事?我认为编译与未编译的应用程序应该以代码方式执行相同的方式。
究竟你“编译”这里是什么意思?
我不认为你遇到的问题是你认为的问题。听起来更像是一个安全上下文问题,在这种情况下,您在一个案例中执行查询的用户上下文默认将查询传递给myschema,其他默认值为dbo。
应用程序将表现相同,我的猜测是您正在谈论在Cassini中运行和在IIS中运行之间的区别?
如果是这样的话,请确保您连接字符串是一个特定的身份,而不是模仿来电...