首页 > 解决方案 > C# SQL Server 连接字符串与同一服务器上的多个数据库

问题描述

我的 SQL Server 连接字符串设置如下:

String strConnection = @"Data Source=servername;Initial Catalog=dbname; User ID =user; Password =pass;";

然后我有一个组合框,它显示了该数据库中的所有表。连接字符串适用于一个数据库(初始目录)。但是,如果我想从同一服务器上的 2 个数据库中提取表怎么办。SQL Server 中的用户可以访问这两个数据库。那我用什么连接字符串?

最简单的方法是Initial Catalog=dbname,db2name。但这当然行不通。

标签: c#sql-server

解决方案


如果该用户确实具有访问其他数据库的权限 - 您可以简单地使用ChangeDatabase您的方法SqlConnection- 如下所示:

string strConnection = @"Data Source=servername;Initial Catalog=dbname; User ID =user; Password =pass;";

using (SqlConnection conn = new SqlConnection(strConnection))
{
     // do what you want to do with "dbname"
     ......

     // switch to "db2name" - on the same server, with the same credentials 
     conn.ChangeDatabase("db2name");

     // do what you want to do with "db2name"
     ......
}

推荐阅读