ASP.NET MVC 中 "The network path was not found" 的原因
Reasons for "The network path was not found" in ASP.NET MVC
我制作了ASP.NET MVC web应用程序,上传了文件,还有数据库,但是浏览时出现以下错误。
The network path was not found
我正在使用 Entity Framework,这是我 [=78 中的 连接字符串 =] 文件
<connectionStrings>
<add name="[mydatabase]Entities" connectionString="metadata=res://*/Models.Model1.csdl|res://*/Models.Model1.ssdl|res://*/Models.Model1.msl;provider=System.Data.SqlClient;provider connection string="data source=sql.[somedomain].net;initial catalog=[mydatabase name];User ID=[myUsername];Password=[myPassword];MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
我已经使用 IP 地址 上传了许多网站,例如。 xxx.xxx.x.xxx作为数据源,但这是第一次使用服务器名称 eg . sql.[somedomain].net -我获取不到服务器ip-,所以我不确定是不是这个原因造成的错误,或者我是否应该做一些特殊的事情来让它工作。
所以,我想问一下我是否应该做些什么来使用 服务器名称 作为 数据源 ,如果不能,那该怎么办否则可能会导致此错误。
This 答案并没有多大帮助。
提前致谢。
更新
如果我 ping 服务器 sql.[somedomain].net,我得到这个结果
Ping request could not find host sql.[somedomain].net. Please check the name and try again.
如果我 nslookup 它,我得到这个结果
*** Unknown can't find sql.[somedomain].net: Non-existent domain
这是否意味着 - 当然 - 服务器不可访问。除了联系托管技术支持,我还能做些什么吗?
已解决
这是托管服务提供商 error/misconfiguration。经过 3 天的搜索和联系客户支持,他们意识到这是他们的问题。我留下这个问题是为了告诉未来的观众 Host Only with reliable/well-known Hosting Providers 无论如何.
您从技术支持处获得的信息似乎相当矛盾。禁用数据库服务器的远程访问是很常见的,但如果是这样,那么使用域连接并不能真正帮助你。
如果您尝试从 已发布的 MVC 项目连接到此数据库,该项目驻留在与提供数据库相同的提供商那里,那么您在连接时应该没有问题不再 "remote"。但是,除非您的 DNS 也托管在同一提供商处,否则使用该域可能会使连接 看起来像 远程,因为它会从外面回来。最安全的选择是简单地使用连接字符串中数据库服务器的IP地址。
另外,请注意数据库服务器的 IP 地址。如果它在 10.* 或 172.* 范围内,则它是本地 IP,但如果是其他地址,则很可能是外部 IP 地址。尝试连接到这样的地址,也可能使连接 看起来像 远程,因为您要离开网络再回来。此外,虽然不允许远程访问数据库服务器是好主意,您通常可以安全地允许远程访问某些 IP。您很可能无法直接控制它,但您可以咨询您的提供商,看看他们是否可以为您的 Web 服务器的 IP 添加明确的规则,这样即使连接是远程连接的,它仍然可以工作.
就在本地进行开发而言,您只需要使用本地数据库即可。您可能已经涵盖了这一点,但您的问题在这方面并不完全清楚。
我也遇到了同样的问题。我使用正斜杠而不是反斜杠作为实例名称 (clustername\instancename)。一旦我将其更改为反斜杠。效果很好。
我制作了ASP.NET MVC web应用程序,上传了文件,还有数据库,但是浏览时出现以下错误。
The network path was not found
我正在使用 Entity Framework,这是我 [=78 中的 连接字符串 =] 文件
<connectionStrings>
<add name="[mydatabase]Entities" connectionString="metadata=res://*/Models.Model1.csdl|res://*/Models.Model1.ssdl|res://*/Models.Model1.msl;provider=System.Data.SqlClient;provider connection string="data source=sql.[somedomain].net;initial catalog=[mydatabase name];User ID=[myUsername];Password=[myPassword];MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
我已经使用 IP 地址 上传了许多网站,例如。 xxx.xxx.x.xxx作为数据源,但这是第一次使用服务器名称 eg . sql.[somedomain].net -我获取不到服务器ip-,所以我不确定是不是这个原因造成的错误,或者我是否应该做一些特殊的事情来让它工作。
所以,我想问一下我是否应该做些什么来使用 服务器名称 作为 数据源 ,如果不能,那该怎么办否则可能会导致此错误。
This 答案并没有多大帮助。
提前致谢。
更新
如果我 ping 服务器 sql.[somedomain].net,我得到这个结果
Ping request could not find host sql.[somedomain].net. Please check the name and try again.
如果我 nslookup 它,我得到这个结果
*** Unknown can't find sql.[somedomain].net: Non-existent domain
这是否意味着 - 当然 - 服务器不可访问。除了联系托管技术支持,我还能做些什么吗?
已解决
这是托管服务提供商 error/misconfiguration。经过 3 天的搜索和联系客户支持,他们意识到这是他们的问题。我留下这个问题是为了告诉未来的观众 Host Only with reliable/well-known Hosting Providers 无论如何.
您从技术支持处获得的信息似乎相当矛盾。禁用数据库服务器的远程访问是很常见的,但如果是这样,那么使用域连接并不能真正帮助你。
如果您尝试从 已发布的 MVC 项目连接到此数据库,该项目驻留在与提供数据库相同的提供商那里,那么您在连接时应该没有问题不再 "remote"。但是,除非您的 DNS 也托管在同一提供商处,否则使用该域可能会使连接 看起来像 远程,因为它会从外面回来。最安全的选择是简单地使用连接字符串中数据库服务器的IP地址。
另外,请注意数据库服务器的 IP 地址。如果它在 10.* 或 172.* 范围内,则它是本地 IP,但如果是其他地址,则很可能是外部 IP 地址。尝试连接到这样的地址,也可能使连接 看起来像 远程,因为您要离开网络再回来。此外,虽然不允许远程访问数据库服务器是好主意,您通常可以安全地允许远程访问某些 IP。您很可能无法直接控制它,但您可以咨询您的提供商,看看他们是否可以为您的 Web 服务器的 IP 添加明确的规则,这样即使连接是远程连接的,它仍然可以工作.
就在本地进行开发而言,您只需要使用本地数据库即可。您可能已经涵盖了这一点,但您的问题在这方面并不完全清楚。
我也遇到了同样的问题。我使用正斜杠而不是反斜杠作为实例名称 (clustername\instancename)。一旦我将其更改为反斜杠。效果很好。