0

首先,我可以使用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; 

这是为我工作的步骤,并希望他们会利用别人的。

+0

这听起来像可能是防火墙或DNS问题。你可以检查“ping SQLTEST”是否正常工作,也可以尝试暂时禁用本地防火墙。 – mdma 2010-06-24 20:56:11

+0

任何一台机器都可以从我的包装箱和生产箱中获得成功。 – 2010-06-25 13:33:20

回答

0

当您与企业管理器连接时,是否与运行VB.Net代码时来自同一台机器?

否则,它可能是很多事情,从防火墙或DNS到mdma提到使用错误的网络协议设置或可能不接受远程连接。

This文章包含一系列需要注意的事情(这是针对SQL 2000的,但至少可以让你开始)。

+0

是的,经理和我的代码从同一个框中运行。 – 2010-06-25 13:34:28

+0

我想从技术上讲,这并不能真正解决我的问题,但它是最有用的答案(至今),包含有用的链接,并且由于我的问题不再相关,我将接受此答案。 – 2010-06-25 15:34:11

+0

@Wayne:谢谢,但是如果你自己解决了这个问题,你总是可以对自己的问题发表一个答案,并将其作为答案(我认为你不会得到任何代表,但至少这个问题会被正确回答)。 – 2010-06-25 15:39:57

0

显而易见的问题 - SQLTEST有一个名为“SignInspection”的数据库吗?你也使用Windows身份验证或SQL身份验证通过SQL Management Studio登录到SQLTEST吗?我期望如果其中任何一个都是问题,你会得到一个异常,但它的价值检查。

+0

是的,都有该数据库和Windows身份验证。当我通过经理连接(或者)时,我可以运行查询等。 – 2010-06-25 13:33:51

相关问题