为什么这个工具找不到我的数据库?

时间:2015-01-14 02:29:53

标签: c# sql-server

好吧,我来自开源世界,其中“配置”似乎没有任何接近这个离奇的地方。我得到了一个“mdf”数据库文件。我正在使用Visual Studio 2013,我现在想要做的只是在Page Inspector或浏览器中调出dadgum页面 - 当我连接到办公室中的“真实”数据库时,我能够做到这一点。但现在我很偏远,需要使用这个“文件”。我把它放在我项目的“数据文件夹中;我把它放在My Documents路径中的一个文件夹中;我把它放在MS SQl Server的Program Files路径中。接下来我要把它放在垃圾,除非我能找到Visual Studio 2013中的这个“项目”是如何寻找数据库的。 我的“web.config”文件包含:

    <add name="DefaultConnection" connectionString="Data Source=WS-xxxx;Initial Catalog=blahblahblah;MultipleActiveResultSets=True;Integrated Security=false;AttachDBFilename=|DataDirectory|blahblahblah.mdf;User Id=xxxxx;Password=yyyyy" providerName="System.Data.SqlClient" /> 

我也试过了:

    <add name="DefaultConnection" connectionString="Data Source=WS-xxxx;Initial Catalog=blahblahblah;MultipleActiveResultSets=True;Integrated Security=false;AttachDBFilename=[C:\Users\MyName\My Documents\Test Database\blahblahblah.mdf;User Id=xxxxx;Password=yyyyy" providerName="System.Data.SqlClient" /> 

......而且这个:

     <add name="DefaultConnection" connectionString="Data Source=WS-xxxx;Initial Catalog=blahblahblah;MultipleActiveResultSets=True;Integrated Security=false;User Id=xxxxx;Password=yyyyy" providerName="System.Data.SqlClient" /> 

似乎没有其他任何意义。我很感激有关为什么会这样做的任何(有效的)建议 - 我希望在此时使用C#进行编码,而不是使用MS Configuration的东西。作为信息,我可以在VS Studio的Server Explorer和SQL Server对象资源管理器中看到数据库。我也可以在工作室中查询它并获得有效的结果。它位于我在“我的文档”文件夹中指定的路径中。所以我很难想到我已经将所有这些不同的路径放在这个web.config文件中,并且当我调出Page Inspector时,Studio仍然说它无法找到它。 感谢。

这是我不断得到的错误,无论我把这个数据库放在哪里:

系统找不到指定的文件 描述:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪,以获取有关错误及其在代码中的起源位置的更多信息。

异常详细信息:System.ComponentModel.Win32Exception:系统找不到指定的文件

来源错误:

  

执行期间生成了未处理的异常   当前的网络请求。有关的来源和位置的信息   可以使用下面的异常堆栈跟踪来识别异常。

堆栈追踪:

  

[Win32Exception(0x80004005):系统找不到该文件   指定]

     

[SqlException(0x80131904):与网络相关或特定于实例的   建立与SQL Server的连接时发生错误。该   服务器未找到或无法访问。验证该实例   名称是正确的,并且SQL Server配置为允许远程   连接。 (提供者:命名管道提供者,错误:40 - 不能   打开与SQL Server的连接)]

1 个答案:

答案 0 :(得分:1)

如果您可以在VS 2013中的服务器资源管理器中看到数据库,我认为它列在&#34;数据连接&#34;下。如果是这样,请右键单击“数据连接”中的数据库名称,然后转到“属性”。其中一个属性是&#34;连接字符串&#34;。试试吧。

并确保在文件路径周围添加方括号,因为它们不是有效字符。

您的配置标记应如下所示:

<add name="DefaultConnection"
     connectionString="Data Source=WS-xxxx;Initial Catalog=blahblahblah;MultipleActiveResultSets=True;Integrated Security=false;AttachDBFilename=C:\Users\MyName\My Documents\Test Database\blahblahblah.mdf;User Id=xxxxx;Password=yyyyy"
     providerName="System.Data.SqlClient"
/>