Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.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
Sql server 无法远程连接到SQL Server_Sql Server_Wpf_Sql Server 2008_Deployment_Connection String - Fatal编程技术网

Sql server 无法远程连接到SQL Server

Sql server 无法远程连接到SQL Server,sql-server,wpf,sql-server-2008,deployment,connection-string,Sql Server,Wpf,Sql Server 2008,Deployment,Connection String,我有一个功能齐全的WPF应用程序在本地机器上运行,SQL Server 2008作为数据库。SQL Server Management studio也安装在我的计算机上。现在,我希望我的应用程序可以通过公司网络访问,以便其他用户可以使用我的应用程序。我已经创建了install shield,在另一台windows 7计算机上安装了任何应用程序,但在使用EntityFramework 6.0调用数据库时启动应用程序时,我会收到这些错误消息(异常/内部异常) 我已在SQL Server confi

我有一个功能齐全的WPF应用程序在本地机器上运行,SQL Server 2008作为数据库。SQL Server Management studio也安装在我的计算机上。现在,我希望我的应用程序可以通过公司网络访问,以便其他用户可以使用我的应用程序。我已经创建了install shield,在另一台windows 7计算机上安装了任何应用程序,但在使用
EntityFramework 6.0
调用数据库时启动应用程序时,我会收到这些错误消息
(异常/内部异常)

我已在SQL Server configuration manager中启用TCP/IP,端口设置为1433。SQL Server命名实例,这就是configuration manager的外观

计算机(安装/承载SQL server的计算机)上的防火墙已关闭。这是我的连接字符串

<connectionStrings>
<add name="TestPacksContext" connectionString="metadata=res://*/TestPacksModel.csdl|res://*/TestPacksModel.ssdl|res://*/TestPacksModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=IMCCIT101\SQLEXPRESS;initial catalog=TPM;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />

因此,我相信我已经启用了所有应该启用的设置,但仍然无法连接到SQL server


p.S:我没有在客户端计算机上安装Sql server或Sql server Management studio或任何特殊设备更新:

聊天后发现,问题完全不同了。 domainmodel位于单独的程序集中,连接字符串配置仅位于该类库的app.config中。但是
AppDomain
只能有一个配置文件,请参阅

因此,要修复此问题,请添加:

<connectionStrings> 
 <add name="TestPacksContext" 
    connectionString=
         "metadata=res://*/TestPacksModel.csdl|res://*/TestPacksModel.ssdl|res://*/TestPacksModel.msl; 
          provider=System.Data.SqlClient;provider connection string=&quot;
          data source=IMCCIT101\SQLEXPRESS,1433;
          initial catalog=TPM;integrated security=True;
          MultipleActiveResultSets=True;App=EntityFramework&quot;" 
          providerName="System.Data.EntityClient" /> 
 </connectionStrings>
致:

您还需要确保端口1433已被windows防火墙打开。您可以使用一个简单的工具,如
Telnet
来测试您是否可以连接到IMCCIT101上的端口1433

还要确保客户端有可用的DNS,以便可以找到IMCCIT101的IP地址

  • 您可以指定两种不同的身份验证方法 你说:

    integrated security=True;
    
    但也要指定sa用户的凭据(请参阅下文了解不应这样做的其他原因)

    我假设您将数据库托管在笔记本电脑上,因此无法或至少不容易使用windows集成安全性。因此,将“综合安全”改为:

     integrated security=False;
    
    安全通知:

    您向其他计算机上的用户提供SQL server的
    sa
    凭据。您是否知道具有此凭据的任何人都可以对您的SQL server执行任何操作,包括删除数据库等

    Windows集成安全性是连接到数据库的首选方式。如果这不是一个选项,请为您的用户创建sql用户

    您仍然无法完全访问它们,因为它们的密码将以明文形式存储在它们的计算机上


    换句话说,如果可以,请将SQL server数据库托管在Active Directory环境中的中央服务器上,以便使用集成安全性。

    重新启动实例后是否进行了检查?请启动
    SQL server代理(SQLEXPRESS)
    我们可以在您的帖子中看到已停止的服务image@tinkaSQL server代理在SQLEXPRESS中不可用!而且也不需要!我设置用户ID和Passowrd纯粹是为了测试。我不再使用它了(我也编辑了这个问题)。我已经在连接字符串中添加了端口1433,在客户端机器上使用telnet命令查看端口是否打开,结果是打开的。但我仍然无法连接。同样的问题:顺便问一句,我如何确保客户端机器有工作DNS并能找到IMCCIT101的IP地址?我没有安装Sql server或客户端机器的任何Sql软件,这可能是个问题吗?不,不需要在客户端计算机上安装sql工具或任何东西。如果您使用集成安全性,您是否在AD环境中运行,并且AD用户是否对您的sql server具有权限?如何检查此AD内容?
    data source=IMCCIT101\SQLEXPRESS;
    
    data source=IMCCIT101\SQLEXPRESS,1433;
    
    integrated security=True;
    
     integrated security=False;