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引发了无效的操作异常.
“Invalid Operation. The connection is closed”.
这是我的完整代码.在另一个程序中,它完美无缺.
这是第二次,这不起作用.我正在使用VS2005 …也许我的程序已损坏?
堆栈跟踪:
at System.Data.sqlClient.sqlConnection.GetOpenConnection()
at
System.Data.sqlClient.sqlConnection.get_ServerVersion()
解决方法
这样做的正确方法应该是这样的:
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(); } } }
检查这个:Best Practices for Using ADO.NET on MSDN
其他事项:使用sql Management Studio并尝试使用连接字符串中的sql身份验证登录凭据,如果使用该帐户成功连接到数据库,则上述代码应该适合您.
最好的祝福