连接字符串无效或错误定位服务器/实例

时间:2014-02-17 13:24:58

标签: c# mysql asp.net sql sql-server

我重新安装了我的电脑,现在我的SQL连接字符串或SQL Server 2012企业版存在问题 我得到错误:

"... (provider: SQL Network Interfaces, error: 25 - Connection string is not valid)"  or 

"... (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)"

在SQL Server Management Studio中,服务器实例如下所示:

TOM-PC (SQL Server 11.0.3128 - Tom-PC\Tom)

和ASP.NET XML配置中的My SQL连接字符串。文件:

<add name="ApplicationServices" connectionString="Data Source=.\TOM-PC;Database=D:\Programming\InvoiceManager\invocemanagerSQL.mdf;" providerName="System.Data.SqlClient" />

尝试了一切,在防火墙添加端口1434或1433测试两者,不工作,"SQL Server Browser"服务正在运行,TCP / IP启用,允许远程连接到此服务器,甚至尝试了4个不同的连接字符串,没有任何效果。 在它像魅力一样工作之前,还没有完全有效。为什么不完全?因为我无法同时使用工作室"VS2010""SQL Management studio"在我的本地计算机上工作,如果我需要手动更改数据库中的内容,我需要停止或重新启动SQL Server进程和服务,然后我进入数据库,并阅读表格。现在,没有什么工作! 我做错了什么?哪里好像是问题?为什么SQL服务器和连接字符串一直存在问题?

1 个答案:

答案 0 :(得分:3)

您在Management Studio中看到的内容如下:

Instance Name (SQL Server version - Domain\LoggedInUser)

您使用集成身份验证(即Windows登录帐户)登录,但未在连接字符串中指定。这将尝试使用ASP.Net应用程序的当前登录用户,这几乎肯定不会作为您的Windows帐户运行。它可以是本地或网络服务帐户之一,也可以是内置的ASP.Net用户。

您还使用错误的变量名来附加数据库文件,如果这实际上是您想要的,而不是连接到服务器上的实际数据库。

我建议您在实例上启用SQL Server身份验证,创建新用户并根据需要为数据库授予权限。

然后您将使用以下格式登录:

Server=myServerAddress; Database=myDataBase; User Id=myUsername; Password=myPassword;

其中myServerAddresslocalhostTOM-PC; Database将是Management Studio中显示的数据库的名称; User Id将是您刚创建的用户的用户名,Password将是您在创建期间为其设置的密码。

如果您确实想要附加数据库文件,那么您的连接字符串将更改为使用以下格式:

Server=myServerAddress; AttachDbFilename=C:\Path\To\Database\File.mdf; Database=myDataBase; Trusted_Connection=Yes;

通常,您可以获得以下所需的大多数连接字符串变体:http://www.connectionstrings.com/sql-server/