【发布时间】:2014-01-10 07:49:25
【问题描述】:
我目前能够连接到本地 SQL Server 实例并获取数据库列表。但是,我现在正在尝试连接到远程 SQL Server 实例并获取其数据库列表。
我似乎无法正确获取 SQLConnection。
using (var oSQLConnection = new SqlConnection("Data Source=123.45.67.890; User ID=sa; Password=password; ))
以下是我用于本地 SQL Server 连接的代码。
private void btSQLListRefresh_Click(object sender, EventArgs e)
{
string sDatabaseName = "";
using (var oSQLConnection = new SqlConnection("Data Source=localhost; Integrated Security=True;"))
{
oSQLConnection.Open();
DataTable oDatabases = oSQLConnection.GetSchema("Databases");
int iDBCount = oDatabases.Rows.Count;
foreach (DataRow database in oDatabases.Rows)
{
sDatabaseName = database.Field<String>("database_name");
short sDBID = database.Field<short>("dbid");
DateTime dCreationDate = database.Field<DateTime>("create_date");
if (sDatabaseName != "master" && sDatabaseName != "model" && sDatabaseName != "msdb" && sDatabaseName != "tempdb")
{
lbSQLDBList.Items.Add(sDatabaseName);
}
}
}
}
错误:
ServerVersion 'oSQLConnection.ServerVersion' 抛出类型为 'System.InvalidOperationException' 字符串 {System.InvalidOperationException} 的异常
base {"无效操作。连接已关闭。"} System.SystemException {System.InvalidOperationException}
【问题讨论】:
-
您收到的错误是什么?此外,您错过了连接字符串末尾的右引号。
-
+ ServerVersion 'oSQLConnection.ServerVersion' 引发了类型为 'System.InvalidOperationException' 字符串 {System.InvalidOperationException} 的异常
-
+ base {"无效操作。连接已关闭。"} System.SystemException {System.InvalidOperationException} 设置oSQLConnection后
-
嗯,连接关闭是不言自明的。连接对象不再打开。尝试再次打开它,或重构连接对象不会超时或关闭。
标签: c# sql sql-server database-connection