无法在本地连接到SQL Server

时间:2013-05-05 18:45:11

标签: 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.Data.OleDb"

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

我经历了很多文章并且遵循了所有不同的方法。但我没有解决方案。

任何人都可以帮助我吗?

3 个答案:

答案 0 :(得分:0)

Solution Explorer中,点击"Show All Files".,然后转到App_Data文件夹并删除WS_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> 

答案 1 :(得分:0)

在编辑问题之前:

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

更新后 你总是可以尝试使用fullpath,是的,你需要OLEDB调用而不是sql,确保你的.cs代码不是这样的

您的问题中的更正:

  

我正在尝试访问本地系统上的SQL服务器

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

答案 2 :(得分:0)

检查一下。
http://msdn.microsoft.com/en-IN/library/5ybdbtte%28v=vs.71%29.aspx
使用Access需要 System.Data.OleDb