C# 连接到数据库服务器
IP地址为192.168.1.11的数据库服务器。该服务器上有多个数据库。它具有身份验证,如C# 连接到数据库服务器,c#,sql-server-2008,connection,database-server,C#,Sql Server 2008,Connection,Database Server,IP地址为192.168.1.11的数据库服务器。该服务器上有多个数据库。它具有身份验证,如user:System和pass:123123 现在,我只想连接到此服务器,而不是任何特定的数据库,然后获取该服务器上可用的数据库列表 我知道使用SqlConnection连接数据库的正常过程。但是我想知道如何连接到服务器并获取该服务器上的数据库列表 我正在使用Visual Studio 2010和SQL Server 2008-在方法上运行此查询 SELECT [name] FROM master.d
user:System
和pass:123123
现在,我只想连接到此服务器,而不是任何特定的数据库,然后获取该服务器上可用的数据库列表
我知道使用SqlConnection
连接数据库的正常过程。但是我想知道如何连接到服务器并获取该服务器上的数据库列表
我正在使用Visual Studio 2010和SQL Server 2008-在方法上运行此查询
SELECT [name]
FROM master.dbo.sysdatabases
WHERE dbid > 4
或者
您需要在代码中执行此操作吗?在c#中?您的问题是,如何使用C#列出我在MSSQLS2008服务器上可以访问的所有数据库?实际上,我必须首先选择一个服务器名称(因为我在网络中工作)。选择服务器名称后,应列出该服务器中的数据库。您不能仅连接到服务器-您始终连接到该服务器上的数据库。但是,您可以连接到该服务器和
主数据库
,然后运行奥巴马建议的查询。我有我的answare。谢谢@marc_sThanks提供的信息,谢谢@Obama.1提问。我不明白为什么要使用dbid>4?它是常数吗?是这样的吗,一台服务器中常见4个数据库?系统数据库在4以下,不包括列表中的系统数据库:)
String connString ="Data Source=localhost;User ID=username;Password=passwrd;";
using (SqlConnection sqlConn = new SqlConnection(connString))
{
sqlConn.Open();
DataTable tblDatabases = sqlConn.GetSchema("Databases");
sqlConn.Close();
DataTable td = tblDatabases.Select("dbid>6").CopyToDataTable();
}