C# 无法在本地连接到SQL Server

C# 无法在本地连接到SQL Server,c#,asp.net,sql-server,sql-server-2008,C#,Asp.net,Sql Server,Sql Server 2008,当我尝试连接到web服务时,出现以下异常 System.Data.SqlClient.SqlException:尝试为文件DatabaseName.mdb附加自动命名数据库失败。存在同名数据库,或无法打开指定的文件,或该文件位于UNC共享上 我正在使用的连接字符串是: Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|WS_Assignment.mdb;uid=Admin;pwd=" providerName="System.Da

当我尝试连接到web服务时,出现以下异常

System.Data.SqlClient.SqlException:尝试为文件DatabaseName.mdb附加自动命名数据库失败。存在同名数据库,或无法打开指定的文件,或该文件位于UNC共享上

我正在使用的连接字符串是:

Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|WS_Assignment.mdb;uid=Admin;pwd=" 
providerName="System.Data.OleDb"
我正在尝试访问本地系统上的SQL Server

我已经阅读了很多文章,并遵循了所有不同的方法。但我没有办法


有人能帮我吗?

在您的
解决方案资源管理器中,单击
“显示所有文件”。
然后转到
应用程序数据文件夹,删除
WS\u assignment.mdb
,然后运行您的应用程序

此外,您的提供商是错误的

providerName="System.Data.SqlClient" is the right one.
其次,对于SQL Server,数据库名称应以
.mdf
.sdf
结尾

因此,您的连接字符串将变成:

 <connectionStrings>
    <add name="ConnectionStringName"
     connectionString="Data Source=|DataDirectory|WS_Assignment.sdf"
     providerName="System.Data.SqlClient"/>
  </connectionStrings> 


编辑问题前的

您是在web服务器上部署,而不是在本地主机上部署。如果是这种情况,您需要在服务器数据库中发布sql脚本,因为服务器不允许在您的部署中使用attachDB文件,如果是这种情况,那么您的问题就解决了

更新后 您可以尝试使用fullpath,是的,您需要OLEDB调用而不是sql。请确保您的.cs代码并非如此

更正你的问题:

我正在尝试访问本地系统上的SQL server

: 我不明白你怎么能用.mdb文件做到这一点;即使不是这样,也要确保sql服务在您的系统中正常运行,请转到->开始按钮->程序文件->microsoft sql server yourversion->配置管理器->检查正在运行的服务。

检查此项。


使用Access需要System.Data.OleDb库

。mdb
是MS Access,而不是SQL Server…我有一个MS Access数据库。如何将其转换为.mdf数据库以便在SQL server上访问?创建您的SQL server数据库(例如在Management Studio中),然后使用SQL server Integration Services(“数据导入”向导)将access数据导入SQL server谢谢marc_,我想您指出的也很有帮助:对于
.sdf
(=SQL server Compact)您将需要使用不同的
providerName=..
值!您提供的仅适用于完整的SQL Server版本(不适用于SQL Server CE)