2017-06-09 45 views
4

我已经部署了一个网站到IIS,它试图通过连接字符串访问数据库。网站部署到IIS并连接到SQL Server 2012,发现网络未找到错误的问题

我的SQL Server和连接字符串是正确的,因为我已经在以下几个方面进行了测试:

  1. 我的开发环境流数据正确
  2. 连接到SQL Server是不错的,因为我可以从SQL Server看到Management Studio
  3. 部署的网站的其他页面是正确的,只有流式传输数据的页面失败。

问题是,它只是通过IIS网站,我们有这个错误,当我从Visual Studio运行它是没事的。

这里是栈代码我得到:

Stack trace error

我的连接字符串:

<add name="cnnSQLDB" 
    connectionString="server=**********;database=*********;Integrated Security=True;User ID=******;Password=******;" 
    providerName="System.Data.SqlClient"/> 
+0

听起来像是防火墙问题。你能ping你的Web服务器的SQL服务器吗?端口是否为sql server打开? –

+0

SQL Server端口是否打开?需要打开端口1433以使SQL流量通过。 –

+3

我认为你的连接字符串是错误的,同时使用集成安全性和提供用户名和密码。看看https://www.connectionstrings.com/sql-server/ –

回答

0

确保端口1433是在防火墙上打开。这是SQL Server使用的端口。

+0

我测试这个的方式是我使用了以下命令'telnet 1433',并且我收到以下消息...无法在端口23上打开与主机的连接:连接失败。 – user2140740

+0

使用的语法是: telnet sqlservername 1433 – seagulledge

+1

@seagulledge当我尝试'telnet sqlservername 1433'时,我得到一个空白屏幕,这意味着该端口是打开的SQL连接。防火墙是否阻止了请求? – user2140740

0

我能够根据此处提供的提示来解决此问题。我必须做以下更改:

  1. 更新SQL连接字符串并设置“Integrated security = false”。这样它将使用SQL连接字符串中提供的登录凭证。
  2. 按照SQL连接字符串中的规定创建一个新用户并授予必要的访问权限。
  3. 将数据库从生产环境复制到新环境时,连接字符串中提到的用户的GRANT权限未更新。

但通过命令'sp_readerrorlog'检查端口状态给了我线索,并让我找到了解决方案。其他一些帮助我的链接是:thisthis

+0

很高兴你知道了。 –