与sql server 2005 express共享主机上的连接字符串问题

时间:2010-05-07 12:16:21

标签: sql-server database-connection connection-string

我在共享主机上连接到我的数据库时遇到问题。我的主机提供商说他们在他们的数据库上部署了SQL 2005 express,我按照以下方式编写了连接字符串,以利用sql 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 As String)作为整数 第121行:Dim q As String =“Select PLID”&amp; “来自LGA”&amp; “LGAName =”&amp; “'”&amp; sLgaName&amp; “'” 第122行:Dim cn As New SqlConnection(Me.ConnectionString) 第123行:Dim cmd为新的SqlCommand(q,cn) 第124行:

我在网上看了很多,谷歌用手指麻木了。我有一个截止日期来交付这个项目,并且成功构建了应用程序,这对于这种情况来说是令人沮丧的。请帮帮我。

1 个答案:

答案 0 :(得分:0)

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

因此,您将连接到您的提供商为您创建的共享实例上的指定数据库,而不是您复制的MDF文件。现在,要部署架构,您需要使用构建应用程序架构的各种CREATE TABLE,CREATE VIEW,CREATE PROCEDURE语句运行部署脚本。如果您没有部署脚本,请学习您的课程并创建一个。从VS服务器资源管理器开发应用程序非常适合在演出中进行演示,而不是在进行实际部署的战斗中。