0

使用 SQLEXPRESS 作为数据库,使用 Web Developer Express 2012 创建了一个项目。我已部署到共享托管站点,并且正在尝试使用提供给我的连接字符串。我得到了这个:

 Data Source=tcp:TheDatabase.com;Initial Catalog=TheNameOfTheDatabase;User      ID=Username;Password=******;Integrated Security=False; 

这是我使用它的方式:

 <connectionStrings>
   <add name="ApplicationServices"
    connectionString="Data Source=. TheDatabase.com;Initial Catalog= TheNameOfTheDatabase;User ID=Username;Password=******;Integrated Security=False; ;User Instance=true"
    providerName="System.Data.SqlClient" />

我收到此错误消息:

建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供者:SQL 网络接口,错误:26 - 错误定位服务器/指定的实例)

我所做的所有研究都指向我的连接字符串试图访问 SQLEXPRESS 的实例,但我没有看到我的字符串中发生这种情况的任何地方。如何使它指向 SQL Server 而不是 SQLEXPRESS?

web.config 中是否还有其他地方可能需要更改?

我知道如果我可以使用 IIS 来管理数据库,这将很容易解决,但我的 ISP 阻止了端口 1433,我无法直接连接到站点的数据库。非常令人沮丧。

UPDATE" 我认为我的问题出在字符串的计算机名/实例部分。有人可以告诉我字符串的哪一部分是计算机名和服务器实例吗?在我的本地计算机上是 MyPcName/SQLEXPRESS 或 .\SQLEXPRESS。

更新:好的,从 winhost 论坛获得了更新。无论如何,我不应该使用 server_name/Instance_name,所以我很迷茫。

4

1 回答 1

1

所以我的项目使用的是默认数据库(SQL Express),即使我没有指向它的连接字符串。如果您不使用如下构造函数指定,则 EF 使用约定附加默认数据库:

公共类 BloggingContext : DbContext

{

public BloggingContext()

    : base("BloggingDatabase")

{

}

}

然后这个:

 <configuration>

   <connectionStrings>

 <add name="BloggingCompactDatabase"

     providerName="System.Data.SqlServerCe.4.0"

     connectionString="Data Source=Blogging.sdf"/>

 </connectionStrings>

</configuration>

我在这里找到了这一切...... http://msdn.microsoft.com/en-us/data/jj592674.aspx

于 2013-09-07T07:08:42.913 回答