SQL数据库连接未使用DMZ中的Java Web Application服务器建立

时间:2013-04-12 03:27:52

标签: java sql-server-2000

我有一个部署在DMZ服务器上的Java Web应用程序。我已经为Web应用程序中的本地机器数据库连接建立编写了以下代码

url= jdbc:microsoft:sqlserver://" + ipAddress + ":1433;databaseName=" + loginForm.getDbName();
conn = DriverManager.getConnection(url, loginForm.getDbUserName(), loginForm.getDbPWD());

现在我通过互联网访问应用程序并传递本地机器的ipAddress,本地机器dB,用户名,密码。

但得到以下错误:

java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.

2 个答案:

答案 0 :(得分:1)

你可以尝试一些事情:

  1. 检查您的服务器是否正在侦听该端口
  2. 检查您的服务器是否允许该端口上的流量
  3. 检查是否有其他中间防火墙允许该端口上的流量
  4. Ping服务器
  5. 查看您是否可以telnet到服务器/端口
  6. 查看您是否可以访问服务器上的任何其他服务(网络,电子邮件,等等)
  7. 该错误似乎表明该服务器是可联系的,但它没有正在侦听端口,或者它拒绝与您通话 - 您是否检查过服务器日志?

答案 1 :(得分:1)

Web应用程序无法与指定的数据库建立TCP / IP连接。

IP地址在ipAddress变量中的计算机应该可以从Web应用程序服务器访问(通过网络)。

您可以从 Web应用程序计算机远程登录ipAddress的1433端口吗?

检查是否:

  • 数据库在(默认)1433端口处于联机状态;
  • 数据库正在接受传入的TCP / IP连接(check this link to learn how to enable it);
  • Web应用程序服务器和数据库服务器之间没有防火墙。

此外,当您似乎从表单输入ipAddress时,请检查最终的拼写错误和String次转化。