Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用实体框架4连接到SQL Server_C#_.net_Sql Server_Connection String_Remote Connection - Fatal编程技术网

C# 使用实体框架4连接到SQL Server

C# 使用实体框架4连接到SQL Server,c#,.net,sql-server,connection-string,remote-connection,C#,.net,Sql Server,Connection String,Remote Connection,因此,在我的开发机器上安装了SQLServerExpress和VisualStudio。我完成了应用程序的创建,一切都正常工作。以下是App.config文件中的连接字符串: <?xml version="1.0" encoding="utf-8"?> <configuration> <connectionStrings> <add name="ColegioDBEntities" connectionString="met

因此,在我的开发机器上安装了SQLServerExpress和VisualStudio。我完成了应用程序的创建,一切都正常工作。以下是App.config文件中的连接字符串:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <connectionStrings>
    <add name="ColegioDBEntities"
         connectionString="metadata=res://*/Repositories.ColegioModel.csdl|res://*/Repositories.ColegioModel.ssdl|res://*/Repositories.ColegioModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=.\SQLEXPRESS;Initial Catalog=ColegioDB;Integrated Security=True;MultipleActiveResultSets=True&quot;"
         providerName="System.Data.EntityClient" />
  </connectionStrings>

  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0" />
  </startup>
</configuration>

我创建了一个安装项目,并希望将应用程序安装在一个虚拟机上(以模拟部署条件),该虚拟机与安装SQL Server Express的网络位于同一网络上。连接字符串是什么?比如192.168.2.102/SQLExpress


有什么想法吗?

当然需要IP地址或主机名,然后才需要SQL Express的实例名。默认情况下,SQLServer安装有TCP和禁用的命名管道,因此您必须在配置管理器中启用这些设施,然后才能从另一台机器远程访问它。

< P> SQL连接字符串是“连接字符串”属性的一部分,并被编码为带有屏蔽引号的子字符串:

provider connection string=&quot;Data Source=.\SQLEXPRESS;Initial Catalog=ColegioDB;Integrated Security=True;MultipleActiveResultSets=True&quot;
因此,ip地址的配置必须如下所示:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <connectionStrings>
    <add name="ColegioDBEntities"
         connectionString="metadata=res://*/Repositories.ColegioModel.csdl|res://*/Repositories.ColegioModel.ssdl|res://*/Repositories.ColegioModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=192.168.2.102\SQLEXPRESS;Initial Catalog=ColegioDB;Integrated Security=True;MultipleActiveResultSets=True&quot;"
         providerName="System.Data.EntityClient" />
  </connectionStrings>

  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0" />
  </startup>
</configuration>


“当然需要IP地址或主机名,然后才需要SQL Express的实例名”,这就是问题所在ipadress+主机名会是什么样子?示例?您应该检查的第一件事是您是否能够使用VM中的数据库ping机器?接下来,如果您的虚拟机上安装了SSM,您可以使用它从您的虚拟机连接到数据库吗?连接字符串的数据源部分将是“ip\SQLExpress”或machinename\SQLExpress。其中ip和machinename是运行数据库服务器的计算机的ip和netbios名称