using System; using System.Collections.Generic; using System.Text; using System.Data.sql; using System.Data.sqlClient; namespace BissUpdater { class Program { static void Main(string[] args) { string connectionString = "Data Source=H....; Initial Catalog=LANDesk; Persist Security Info=True; User ID=Mainstc; Password=xxxxxxxx"; sqlConnection con = new sqlConnection(connectionString); con.Open(); } } }
sql Connection引发了无效的操作异常.@H_404_5@
“Invalid Operation. The connection is closed”.@H_404_5@
这是我的完整代码.在另一个程序中,它完美无缺.@H_404_5@
这是第二次,这不起作用.我正在使用VS2005 …也许我的程序已损坏?@H_404_5@
堆栈跟踪:@H_404_5@
at System.Data.sqlClient.sqlConnection.GetOpenConnection()
at
System.Data.sqlClient.sqlConnection.get_ServerVersion()@H_404_5@
解决方法
这样做的正确方法应该是这样的:
static void Main(string[] args) { string connectionString = "Data Source=H....; Initial Catalog=LANDesk;User ID=Mainstc; Password=xxxxxxxx"; // removed Persist Security Info=True; using(sqlConnection con = new sqlConnection(connectionString)) { if (con.State==ConnectionState.Closed) { con.Open(); } } }
使用Using语句,它将自动处理您的sql连接.@H_404_5@
检查这个:Best Practices for Using ADO.NET on MSDN@H_404_5@
其他事项:使用sql Management Studio并尝试使用连接字符串中的sql身份验证登录凭据,如果使用该帐户成功连接到数据库,则上述代码应该适合您.@H_404_5@
最好的祝福@H_404_5@