首先,我可以使用SQL Server企业管理器连接到两个数据库,所以我知道服务器已启动并可用。其中之一是SQL1,另一个是SQLTEST。为什么哦为什么VB.NET不能连接到这个数据库?
在当我使用下面的连接字符串我的程序,它工作连接就好了:
conn = New DBConnect("Data Source=SQL1;Initial Catalog=SignInspection;Integrated Security=SSPI")
但是,如果我改变SQL1
到连接超时我没有得到任何错误,其他比超时错误。
我可以在SQLTest上运行探查器,看到它绝对不会尝试连接。一切都没有发生,没有窥视,也没有发生。
任何想法?由于
编辑:
好了,它现在是一个有争议的问题,因为我得到了验证我们的SQL1服务器上正常工作。
我会在这里发布配置,所以也许别人可以受益。
首先,Web服务器运行IIS和.NET。用户使用Active Directory登录到Intranet,.NET页面需要检索他们的登录凭据(用户名最显着)。数据库是SQL Server 2005,运行在不同的机器上。但.NET应用程序需要impersonate作为另一个用户连接到数据库。
要成功执行这两项操作,请转到Windows>运行,输入inetmgr并点击运行。导航到该网站,点击右键>属性,然后单击标题为目录安全性选项卡上,单击编辑..,确保只有集成Windows身份验证和摘要式身份验证被启用。输入您正确的AD领域并单击确定。应用设置/点击确定。
在web.config中必须满足下列条件线
<authentication mode="Windows" />
<identity impersonate="true" username="myDomain\MyUserName" password="123mypasswordgoeshere">
更换,当然,myDomain的\ MyUserName输入和123mypasswordgoeshere,具有在您的域和您的SQL都登录权限的用户名和密码服务器。连接字符串大概可以修改,但是这是我的,它的工作原理:
Server=SQL1;Database=SignInspection;Trusted_connection=True;
这是为我工作的步骤,并希望他们会利用别人的。
这听起来像可能是防火墙或DNS问题。你可以检查“ping SQLTEST”是否正常工作,也可以尝试暂时禁用本地防火墙。 – mdma 2010-06-24 20:56:11
任何一台机器都可以从我的包装箱和生产箱中获得成功。 – 2010-06-25 13:33:20