2010-05-07 264 views
0

我在共享主机上连接到我的数据库时遇到问题。我的主机提供商说他们在他们的数据库上部署了SQL 2005 express,并且我准备好了如下的连接字符串以利用sql express。与sql server 2005 express共享主机连接字符串问题

<add name="PMIS_DBConnectionString" connectionString="Server=localhost;AttachDBFilename=|DataDirectory|PMIS_DB.mdf;Database=PMIS_DB;Trusted_Connection=Yes" /> 
    </connectionStrings> 
    <system.web>\ 

我使用的数据源名称原本是./SQLExpress,但我的主机商问我它的改变而改变到本地主机,虽然与前它没有连接,但仍如上所示访问我的默认页面时仍然出现错误。错误如下: '/'应用程序中的服务器错误。 密钥'attachdbfilename'的值无效。

描述:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪以获取有关该错误的更多信息以及源代码的位置。

异常详细信息:System.ArgumentException:键'attachdbfilename'的值无效。

源错误:

线120:公共功能的getId(BYVAL sLgaName作为字符串)作为整数 线121:昏暗q作为字符串= “选择PLID” & “从LGA” & “哪里LGAName =” & “ '” & sLgaName & “'” 线122:DIM爱泰克作为新的SqlConnection(Me.ConnectionString)123 行:Dim CMD作为新的SqlCommand(q,CN) 线124:

我读过了在网上很多,并谷歌搜索我的鳍gers麻木了。我有一个截止日期来提供这个项目,并成功地构建了应用程序,这是令人沮丧的事情发生。请帮帮我。

回答

0

您是否托管提供商支持可附加数据库(即AttachDBFileName?)。大多数主机提供商不允许这样做。错误消息似乎很强烈地表明了这种情况。可附加数据库是仅限Express的功能,并且托管提供商为共享实例上的每个帐户提供一个数据库,但我没有听说过为每个帐户提供Express实例的提供商。

因此,您将连接到您的提供商为您创建的共享实例上的指定数据库,而不是您复制的MDF文件。为了现在部署您的模式,您需要使用构建您的应用模式的各种CREATE TABLE,CREATE VIEW和CREATE PROCEDURE语句来运行部署脚本。如果您没有部署脚本,那么请吸取教训并创建一个。从VS Server Explorer开发应用程序非常适合在演示中完成的演示,但不是进行实际部署的沟槽。