在某个问题上需要帮助。我有一个VB.NET应用程序,我试图连接到数据库 - 相当简单。
传递的连接字符串是Data Source=<servername>;Initial Catalog=<DB name>;Integrated Security=True
。要检查连接的有效性,我使用mDB.Connection.ConnectionString
- mDB的类型为DataClassDataContext
。现在,当我尝试从本地服务器运行它时,建立了与DB的连接。
但是,我将此exe复制到非洲大陆之外的服务器并从那里运行它并且数据库连接失败。我从服务器返回的连接字符串中获取此值 - System.Data.SqlClient.SqlConnection
。
这里变得奇怪,来自另一方的人可以执行相同的exe,但是如果他试图从美国服务器运行这个exe,他就会遇到同样的问题。我可以清楚地看到这不是一个例外,但是连接被拒绝了(也没有超时。)
请帮助..
答案 0 :(得分:0)
我的第一个想法是,这可能是防火墙的问题。
如果您对有问题的服务器有控制台访问权限,请运行Telnet:
telnet servername 1433
答案 1 :(得分:0)
我将一个udl文件放在远程服务器的共享路径中并放入服务器和数据库名称,这可以连接。但是,代码似乎没有连接。
使用的代码非常简单 - 尝试 如果是pubSQL.ValidServer(&#34;服务器名称&#34;,&#34;数据库名称&#34;)那么 pubSQL.OpenServer(&#34;服务器名称&#34;,&#34;数据库名称&#34;) 其他
MsgBox("Unable to connect to DB")
End If
Catch ex As Exception : ok = False
MsgBox(ex.Message)
End Try
Return ok
当我从本地美国服务器运行时 - 我能够连接,但是我将相同的exe复制到欧洲服务器并且数据库连接失败。我的对手在欧洲服务器上运行相同的exe,如果他在美国服务器上运行它,这可以工作并失败。 我希望我的解释有所帮助。