Sql连接无法在发布中工作

时间:2013-03-08 20:06:47

标签: c# sql sql-server sql-server-express

我的程序有问题,一切都在调试模式下工作但是当我切换到发布时我得到了InvalidOperationException:

_sqlcon.ConnectionString = "Data Source=" + Properties.Settings.Default.serverAdress + ";" + "Initial Catalog=" + Properties.Settings.Default.initialDB + "; User ID=" + Properties.Settings.Default.sqlID + "; Password=" + Properties.Settings.Default.sqlPass + ";" + "Connect Timeout=" + Properties.Settings.Default.timeOut + "; Asynchronous Processing = true;";

这是我的连接字符串

Data Source=.\\SQLEXPRESS;Initial Catalog=visondb; User ID=sql; Password=test;Connect Timeout=30; Asynchronous Processing = true;

我尝试使用

打开连接
        try
        {
           // await dbConnAsync(_sqlcon);   
            _sqlcon.Open();
        }
        catch (SqlException ex)
        {
            MessageBoxResult result = System.Windows.MessageBox.Show(ex.ToString());
        }

但是在发布时它不起作用,当我使用exe时,我只是得到窗口“程序停止响应”。

在哪里寻找错误?

1 个答案:

答案 0 :(得分:1)

我最好的猜测(基于此处的有限信息)将是您从发布 Properties.Settings.Default中提取的值之一,以生成您的连接字符串

  • 空白(空字符串)或
  • 不是你所期望的那样。

因此创建了无效的连接字符串。

您应该在_sqlcon.Open();之前的行上进行调试,并确保连接字符串符合您在发布模式下的预期。