gpt4 book ai didi

c# - 我无法在未安装 SqlServer Express 的计算机上建立 Sql Server localdb 连接

转载 作者:IT王子 更新时间:2023-10-29 04:26:45 26 4
gpt4 key购买 nike

我有一个使用 Visual Studio 2012 编写的 C# 控制台应用程序。在该应用程序中,我使用 Sql Server localdb 连接到数据库来存储信息。这在多台计算机上运行良好,所有计算机都安装了 Visual Studio。

我想部署一个只需要安装 Sql Server Express LocalDB 而不是更大的 Sql Server Express 的程序。但是,我的应用程序没有在目标计算机上运行。我在目标计算机上安装了 Sql Server Express LocalDB 2014。我可以使用命令行,使用 sqllocaldb 运行命令来验证它是否已安装并正在运行。

C:\Users\someuser\Desktop\Debug>sqllocaldb v
Microsoft SQL Server 2014 (12.0.2000.8)`

但是,当我在同一台目标计算机上运行我的应用程序时,出现以下错误。

C:\Users\someuser\Desktop\Debug>Testing_Console
11:21:07,912 [1] INFO TestingConsole.Program - Current Directory is C:\Users\someuser\Desktop\Debug
Extra Info: (null)


Unhandled Exception: System.Data.SqlClient.SqlException: 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: 50 - Local Database Runtime error occurred. Cannot create an automatic instance. See the Windows Application event log for error details.

以下是我的 app.config 文件的开头,我在其中定义了连接字符串。我试过将直接文件路径放入 LM 文件,但这并没有解决问题。然而,这是意料之中的,因为该程序可以在安装了 Visual Studio 的计算机上的任何目录中运行。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<connectionStrings>
<add name="KomoLM_Console.Properties.Settings.LMConnectionString"
providerName="System.Data.SqlClient"
connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\LM.mdf;Integrated Security=True;MultipleActiveResultSets=True"
/>
</connectionStrings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>

我不知道这个问题是否与只安装了 SQL Server Express LocalDB 2014 有关。谁能告诉我我的问题可能是什么?

最佳答案

问题与安装 Sql Server Express LocalDB 2014 而不是 2012 有关。对于该版本,MS 更改了连接字符串要求。连接字符串不是 Data Source=(LocalDB)\V11.0,而是 Data Source=(LocalDB)\MSSQLLocalDB。更改我的连接字符串后,该程序在仅安装了 LocalDB 2014 的计算机上正常运行。这是一篇关于它的文章的链接:https://connect.microsoft.com/SQLServer/feedback/details/845278/sql-server-2014-express-localdb-does-not-create-automatic-instance-v12-0

还有

http://msdn.microsoft.com/en-us/library/hh510202(v=sql.120).aspx

关于c# - 我无法在未安装 SqlServer Express 的计算机上建立 Sql Server localdb 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27826245/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com