无法建立 SQL 连接

发布于 12-05 23:09 字数 461 浏览 1 评论 0原文

我的 SQL 连接代码遇到问题 -

SqlConnection con = new SqlConnection("Data Source=D:\\MyDocuments\\Desktop\\WorkHours\\WorkHours\\App_Data\\Database1.sdf;" + "Trusted_Connection=true;");
con.Open();

我只浏览了这两行,只是试图让连接继续运行,但我收到了此错误:

建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。找不到服务器或无法访问服务器。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。 (提供程序:SQL 网络接口,错误:26 - 定位指定的服务器/实例时出错)

我 100% 确定我的数据库 URL 是正确的。帮助将不胜感激

Having trouble with my SQL connection code -

SqlConnection con = new SqlConnection("Data Source=D:\\MyDocuments\\Desktop\\WorkHours\\WorkHours\\App_Data\\Database1.sdf;" + "Trusted_Connection=true;");
con.Open();

Im only Going through those 2 lines, just trying to get the connection going and im getting this error :

A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)

i am 100% certain my database URL is correct. Help will be appreciated

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

海的爱人是光2024-12-12 23:09:51

您使用了错误的连接类型/提供商。

您的数据库文件具有 *.sdf 扩展名,这意味着您使用的是 Sql Server Compact Edition,而 Compact Edition 需要 System.Data.SqlCe 命名空间和 SqlCeConnection 对象。

修复此问题后,您的代码仍然存在两个问题:

  1. 不要对数据库文件的路径进行硬编码。将文件作为资源添加到 Visual Studio,并使用代码在应用程序启动时将其复制到应用程序数据文件夹,这样,如果文件已存在,则复制会失败。
  2. 确保将连接嵌入到 try/finally 块中,并优先使用 using 块来完成此操作。

You are using the wrong connection type/provider.

Your database file has a *.sdf extension, which means you are using Sql Server Compact Edition, and Compact Edition needs the System.Data.SqlCe namespace and SqlCeConnection object.

Once you fix that, you still have two issues with your code:

  1. Don't hard-code the path to your database file. Add the file to Visual Studio as a resource, and have code to copy that to the Application Data folder on application startup, such that the copy fails if the file is already there.
  2. Make sure to embed your connection in a try/finally block, and for preference accomplish that with a using block.
涙—继续流2024-12-12 23:09:51

http://www.connectionstrings.com/ 是一个很棒的网站,我很抱歉忘记了正确的连接字符串语法也是如此。

http://www.connectionstrings.com/sql-server-2008

如果您使用紧凑版 -

http://www.connectionstrings.com/sql-server-2005-ce

Data Source =MyData.sdf; Persist Security Info =False; 

或...

Data Source =" + (System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) + "\\MyData.sdf; Persist Security Info =False; 

http://www.connectionstrings.com/ is a great site and I am guilty of forgetting the proper connection string syntax too.

http://www.connectionstrings.com/sql-server-2008

If you are using compact edition -

http://www.connectionstrings.com/sql-server-2005-ce

Data Source =MyData.sdf; Persist Security Info =False; 

or...

Data Source =" + (System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) + "\\MyData.sdf; Persist Security Info =False; 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文