如何使用 ASP.net 动态指定 SQL ConnectionString 中的架构名称。 我有一个具有多个架构的数据库。我需要从属于特定模式的表中获取数据。
您只能在连接字符串中指定数据库和用户详细信息。
要从特定模式检索数据,您需要在查询中引用该模式。例如;
SELECT field1, field2 FROM [Schema].[Table]
我想在这里引用一个较旧的线程,它在这个问题中绝对有用:
您只能将默认架构设置为用户本身。 您可以尝试使用 ALTER USER 语句,您可以在其中为用户定义默认架构。 这意味着您可以为每个架构创建一个用户(如果您需要的话)。
每个用户都有自己的架构,这是默认架构。登录后您可以执行:
ALTER SESSION SET CURRENT_SCHEMA = myschema
所以连接后需要执行一条额外的语句。
以下是具体操作方法。我刚刚尝试过。
“连接字符串”:{ "": "主机=;数据库=;端口=5432;用户名=;密码=;IntegratedSecurity=true;SearchPath=MySchema"