【问题标题】:Connecting to database using code - C#使用代码连接到数据库 - C#
【发布时间】:2015-05-02 07:17:16
【问题描述】:

当我在 Visual Studio 中使用服务器资源管理器并在我的 D 盘上添加本地数据库时,我得到一个连接字符串并且连接测试成功。

但是当我想使用下面的连接字符串在没有向导的情况下通过代码附加数据库时,打开连接时出现错误,下面提供了我的连接字符串:

string coonection_string ="Data Source=(LocalDB)\v11.0;AttachDbFilename=D:\\x\book.mdf;Integrated Security=True;Connect Timeout=30";

try
{
      SqlConnection myconnection = new SqlConnection(coonection_string);
      myconnection.Open();
      MessageBox.Show(" connected");
}
catch (Exception e1)
{
      MessageBox.Show(e1.ToString());
}

【问题讨论】:

  • 我要尝试的第一件事是去掉这里的双反斜杠:D:\\...
  • 另外,你能告诉我们错误信息吗?
  • 那你得到了什么错误?
  • 您能否发布您遇到的错误?
  • 你不是在帮助自己。说我有一个错误而不告诉我们这个错误是什么有点没用。现在你可以希望有人有一个水晶球并且可以从这里看到你的显示器......(或者你能告诉我们那个讨厌的错误信息吗?)顺便说一句,它是MessageBox.Show(e1.Message)

标签: c# sql-server database-connection


【解决方案1】:

您的连接字符串错误。本地项目或 sqlexpres 中的 Eigher mdf 文件,或者您可以在连接字符串中使用数据库名称,例如

Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|MyDatabase.mdf;Integrated Security=True;User Instance=True

or 

Data Source=(LocalDb)\v11.0;Initial Catalog=MyDatabase;Integrated Security=SSPI;

检查此链接。

DB Connection string in Web.config to use attached .mdf database won't work

始终使用 Web.config 文件作为连接字符串并访问代码中的条目

Dim mWebSvr As String = ConfigurationSettings.AppSettings("Connectionstring")

【讨论】:

    【解决方案2】:

    尝试将@放在连接字符串之前。我们在字符串前使用@,以避免转义特殊字符。

    string coonection_string =@"Data Source=(LocalDB)  \v11.0;AttachDbFilename=D:\\x\book.mdf;Integrated Security=True;Connect Timeout=30";
    

    【讨论】:

      【解决方案3】:

      在连接字符串前面保留一个@符号,在C#中反斜杠是一个转义字符

      string coonection_string =@"Data Source=(LocalDB)\v11.0;AttachDbFilename=D:\\x\book.mdf;Integrated Security=True;Connect Timeout=30";
      

      否则您的连接字符串可能格式不正确

      SqlConnectionStringBuilder.AttachDBFilename Property

      【讨论】:

      • 那么,使用@ 转义@"D:\\x\book.mdf" 会变成什么?
      • @Alex 它需要像这样改变@"D:\x\book.mdf"
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-12
      • 2012-04-27
      • 2011-08-22
      • 1970-01-01
      相关资源
      最近更新 更多