【问题标题】:What is a proper "Connection String" for my C# app?我的 C# 应用程序的正确“连接字符串”是什么?
【发布时间】:2014-08-06 07:38:09
【问题描述】:

我想在安装了 Windows XP 和 SQL Server 2008 R2 Express 的计算机上运行我的 C# 应用程序。尽管我尝试了任何可能的连接字符串,但我无法在那台计算机上运行我的应用程序。任何帮助将不胜感激。

我尝试了这些连接字符串:

Data Source=(local); integrated security=SSPI; database=SepidarDatabase.mdf

server=.\SQLEXPRESS;integrated security=SSPI;database=SepidarDatabase.mdf

"Data Source=.\SQLEXPRESS;SepidarDatabase.mdf;Integrated Security=True"   
providerName="System.Data.SqlClient"

它们都抛出异常错误:

“attachDbFileName”的值键无效!

【问题讨论】:

  • 这取决于您的实例名称、数据库和安全性。显示您尝试了什么以及收到了哪些错误消息。
  • 错误是什么?您可以使用connectionstrings.com 生成Connection String
  • 感谢您的 cmets!我在我的问题中添加了一些有用的信息。
  • 数据库名应该是逻辑名,而不是物理文件名
  • 我按照你说的修改了字符串,但问题仍然存在。

标签: c# connection-string sql-server-express localdb


【解决方案1】:
<add name="LPSConnection" connectionString="Data Source=Your-Data-Source;Initial Catalog=Database-Name;Uid=Your-User-Id;pwd=Your-Password;MultipleActiveResultSets=true;Connect TimeOut=600;" providerName="MySql.Data.MySqlClient"/>

将此添加到您的 app.config 文件中。它对我来说非常有效。

【讨论】:

  • 感谢您的回复。我刚刚根据您的回复添加了以下连接字符串,但它不起作用。请注意,由于我使用 Windows 身份验证,因此我替换了“integrated security=SSPI”而不是 Uid 和 pwd。 ''
  • 尝试设置 Integrated Security=true,有时这也可以@user3913217
  • 对不起...我是 StachOverFlow 的新手;所以我不太熟悉如何像你一样格式化我的 cmets。
  • 这不是问题@user3913217
  • 哦,我认为您应该使用 AttachDbFilename 而不是 Initial Catalog。并且必须给出物理路径而不是文件名@user3913217
猜你喜欢
  • 2018-03-28
  • 1970-01-01
  • 2022-01-27
  • 2023-03-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-27
相关资源
最近更新 更多