更改默认情况下访问的架构

时间:2013-03-07 16:30:56

标签: c# sql-server schema

我有一个已从另一台服务器转移并具有架构careinflg的数据库。但是,我的C#.net Web应用程序会查找具有架构dbo的对象。无需手动更改我的应用程序中的每个语句,默认情况下都指向careinflg

如果可能的话,我更愿意在C#层中执行此操作,因为数据库位于开发服务器上,改变用户属性本身是不明智的 - 但如果没有其他方法,我可以。

1 个答案:

答案 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

但这不是 修复 ,可能会产生其他不良后果(例如,当您的应用创建对象时)。您需要有意识地努力始终为对象使用两部分名称。