我正在设计一个小型IRC机器人,用于聊天中的游戏。
源,程序和SQL连接细节永远不会公开,所以我不担心安全性。
我的连接字符串如下:
"Server=sql.mydomain.com,3306;Database=sqldatabasename;User id=sqlusername;Password=sqlpassword;"
毋庸置疑,我在这里搞砸了细节。 在谷歌搜索并找到http://www.developerfusion.com/tools/sql-connection-string/后,我用它来生成这个字符串:
"Data Source=sql.mydomain.com,3306;Initial Catalog=sqldatabasename;Integrated Security=False;User ID=sqlusername;Password=sqlpassword;"
在这两种情况下,我都尝试使用以下代码打开连接:
using (var sql = new SqlConnection(connectionString))
{
sql.Open();
//SQL operations here
}
但是每次我都在sql.Open()上收到InvalidOperationException。 我绝对肯定我在连接字符串中输入的详细信息是正确的,并且基于我在谷歌上发现的,最可能的原因似乎是连接字符串,所以我不确定我是什么我做错了。
编辑: 异常消息只是“内部连接致命错误”。 根据MSDN,SqlConnection.Open上的InvalidOperationException只能表示以下两点之一: 连接字符串中未提供服务器或数据源 或者连接已经打开。
我假设第一个也可以触发服务器或数据源以某种方式无效,因为我尝试打开它:
if (sql.State != ConnectionState.Open) sql.Open();
我仍然收到错误。
答案 0 :(得分:0)
做了一些搜索,你的字符串似乎很完美。甚至把我的字符串改成了你的字符串,它在这里工作。我唯一能找到的就是这个,但我不知道它是否有帮助或机器人(值得一试)。
" Data Source = tcp:sql.mydomain.com,3306; Initial Catalog = sqldatabasename; Integrated Security = False; User ID = sqlusername; Password = sqlpassword;"
在this网站上看到它但又一次,我不知道它是否会发生任何变化。
希望有所帮助