为什么这个工具找不到我的数据库?
Why can't this tool find my database?
好吧,我来自开源世界,在这个世界里 "configuration" 似乎一点也不奇怪。我得到了一个 "mdf" 数据库文件。我正在使用 Visual Studio 2013,我现在只想在 Page Inspector 或浏览器中打开 dadgum 页面——当我连接到 "real" 数据库在办公室。但现在我在远程,需要使用这个 "file"。我已经把它放在"data folder of my project; I have put it in a folder in My Documents path; I have put it in Program Files path for MS SQl Server. The next place I'm going to put it is in the garbage unless I can find out how this "project" in 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 配置的东西作斗争。作为信息,我可以在 VS Studio 的服务器资源管理器和 SQL 服务器对象资源管理器中看到数据库。我也可以在 THE STUDIO 中查询它并获得有效结果。它位于我在 "My Documents" 文件夹中指定的路径中。因此,令我感到困惑的是,我已将所有这些不同的路径放入此 web.config 文件中,而当我调出 Page Inspector 时,Studio 仍然说找不到它。
谢谢。
这是我不断遇到的错误,无论我将此数据库放在哪里:
系统找不到指定的文件
说明:在执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其在代码中的来源的详细信息。
异常详细信息:System.ComponentModel.Win32Exception:系统找不到指定的文件
来源错误:
An unhandled exception was generated during the execution of the
current web request. Information regarding the origin and location of
the exception can be identified using the exception stack trace below.
堆栈跟踪:
[Win32Exception (0x80004005): The system cannot find the file
specified]
[SqlException (0x80131904): 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: Named Pipes Provider, error: 40 - Could not
open a connection to SQL Server)]
如果您可以在 VS 2013 的服务器资源管理器中看到数据库,我假设它列在 "Data Connections" 下。如果是这样,请右键单击数据连接中的数据库名称,然后转到属性。其中一个属性是 "Connection String"。试试看。
并且确保不要在文件路径周围添加方括号,因为它们不是有效字符。
您的配置标签应该类似于:
<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"
/>
好吧,我来自开源世界,在这个世界里 "configuration" 似乎一点也不奇怪。我得到了一个 "mdf" 数据库文件。我正在使用 Visual Studio 2013,我现在只想在 Page Inspector 或浏览器中打开 dadgum 页面——当我连接到 "real" 数据库在办公室。但现在我在远程,需要使用这个 "file"。我已经把它放在"data folder of my project; I have put it in a folder in My Documents path; I have put it in Program Files path for MS SQl Server. The next place I'm going to put it is in the garbage unless I can find out how this "project" in 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 配置的东西作斗争。作为信息,我可以在 VS Studio 的服务器资源管理器和 SQL 服务器对象资源管理器中看到数据库。我也可以在 THE STUDIO 中查询它并获得有效结果。它位于我在 "My Documents" 文件夹中指定的路径中。因此,令我感到困惑的是,我已将所有这些不同的路径放入此 web.config 文件中,而当我调出 Page Inspector 时,Studio 仍然说找不到它。 谢谢。
这是我不断遇到的错误,无论我将此数据库放在哪里:
系统找不到指定的文件 说明:在执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其在代码中的来源的详细信息。
异常详细信息:System.ComponentModel.Win32Exception:系统找不到指定的文件
来源错误:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
堆栈跟踪:
[Win32Exception (0x80004005): The system cannot find the file specified]
[SqlException (0x80131904): 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: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)]
如果您可以在 VS 2013 的服务器资源管理器中看到数据库,我假设它列在 "Data Connections" 下。如果是这样,请右键单击数据连接中的数据库名称,然后转到属性。其中一个属性是 "Connection String"。试试看。
并且确保不要在文件路径周围添加方括号,因为它们不是有效字符。
您的配置标签应该类似于:
<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"
/>