我有一个已从另一台服务器转移并具有架构careinflg
的数据库。但是,我的C#.net Web应用程序会查找具有架构dbo
的对象。无需手动更改我的应用程序中的每个语句,默认情况下都指向careinflg
?
如果可能的话,我更愿意在C#层中执行此操作,因为数据库位于开发服务器上,改变用户属性本身是不明智的 - 但如果没有其他方法,我可以。
答案 0 :(得分:0)
创建,更改和引用对象时,you should always specify the schema, regardless of whether you are using dbo
or any other schema。
您可以通过更改该用户的默认架构来更改应用当前的行为方式:
USE your_db;
GO
ALTER USER app_user_name
WITH DEFAULT_SCHEMA = careinflg; -- this is a terribly unreadable name, btw
但这不是 修复 ,可能会产生其他不良后果(例如,当您的应用创建对象时)。您需要有意识地努力始终为对象使用两部分名称。