我在项目中添加了一个新的Sql Server数据库,名称为:ShDB.mdf。它位于App_Data文件夹中。
它包含一个包含一些列的表。我可以在表格中添加一些数字,然后在我的localhost上的gridview中显示它们。 这就是我在web.config中的内容:
`<configuration>
<connectionStrings>
<add name="ShConnectionStr" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\Javad\Desktop\Sharj\App_Data\ShDB.mdf;Integrated Security=True;User Instance=True"/>
<add name="ConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\ShDB.mdf;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient"/>
</connectionStrings>
<system.web>
<compilation debug="true" strict="false" explicit="true" targetFramework="4.0"/>
</system.web>
`
这是我使用的vb.net代码:
Dim connectionString As String = ConfigurationManager.ConnectionStrings("ShConnectionStr").ConnectionString
它在localhost测试中正常工作,但是当我发布网站并将文件上传到网络托管服务进行测试时,我反击了一个错误。我该如何解决?我想我应该改变我的数据源路径,但我不知道如何,因为这是我的第一次体验。感谢任何帮助。您可以在此处查看错误页面:http://www.kaj.somee.com/SL.aspx
答案 0 :(得分:1)
Sql Server未安装或未在Web主机上运行,或者您无权连接到它。
ASP.Net本身并不知道如何使用* .mdf数据库。它需要一个正在运行的Sql Server实例进行通信。它将告诉Sql Server加载(附加)您的数据库文件,然后将查询发送到Sql Server服务以供执行。
答案 1 :(得分:0)
您是说您已经将网站上传到网络托管服务,而不是数据库? 如果是这样,您的应用程序可能无法直接与您的本地计算机中实际存在的数据库通信。 您可能还需要将数据库上载到数据库托管服务(例如,SQL Azure等)。 您可能需要弄清楚您上传的数据库托管的IP地址/服务器名称。您可以获得服务提供商的这些信息。从那里,您应该能够使用正确的配置连接到数据库。