我正试图使用IBM Type 4 JDBC驱动程序连接到远程DB2。这是我的配置:
服务器:
客户:
我的理解是,如果您用Java编写客户端应用程序并使用类型4-纯Java-驱动程序,客户端不必安装客户端。该应用程序将使用DRDA直接连接到远程数据库。
下面是我试图访问远程db2的一段代码:
public class BlobRetrieval {
static String databaseDriver;
static String dbURL;
static String userName;
static String password;
static Connection passConn;
public static void main(String[] args) {
databaseDriver = "com.ibm.db2.jcc.DB2Driver";
dbURL = "jdbc:db2://192.168.1.81:50000/LOBDB";
userName = "ace";
password = "ace";
try {
Class.forName(databaseDriver).newInstance();
System.out.println("register successful");
Connection connection = DriverManager.getConnection(dbURL, userName, password);
System.out.println("connection successful");
passConn = connection;
PreparedStatement preparedStatement=connection.prepareStatement("SELECT BOOKCOVER FROM BOOKCOVERS WHERE BOOKISBN=?");
preparedStatement.setString(1, "0738425826");
}
}
当我执行这些语句时,我得到以下错误:
注册成功com。ibm。db2.jcc。是DisconnectNonTransientConnectionException:[jcc][t4][2043][11550][4.19.26]java异常。网ConnectException:在端口50000上打开服务器/192.168.1.81的套接字时出错,消息为:操作超时。com上的错误代码=-4499,SQLSTATE=08001。ibm。db2.jcc。是kd。com上的(未知源)。ibm。db2.jcc。是kd。com上的(未知源)。ibm。db2.jcc。t4.ac.a(未知来源)在com。ibm。db2.jcc。t4.ac.(未知来源)在com。ibm。db2.jcc。t4.a.b(未知来源)在com。ibm。db2.jcc。t4.b.newAgent_u(未知来源)位于com。ibm。db2.jcc。是联系com上的initConnection(未知源)。ibm。db2.jcc。是联系(未知来源)在com。ibm。db2.jcc。t4.b.(未知来源)见com。ibm。db2.jcc。DB2SimpleDataSource。com上的getConnection(未知源)。ibm。db2.jcc。DB2SimpleDataSource。com上的getConnection(未知源)。ibm。db2.jcc。DB2Driver。在com上连接(未知源)。ibm。db2.jcc。DB2Driver。在java上连接(未知源)。sql。驾驶员经理。java上的getConnection(DriverManager.java:664)。sql。驾驶员经理。dbAccessPackage上的getConnection(DriverManager.java:247)。BlobRetrieval。main(BlobRetrieval.java:30)由:java引起。网ConnectException:操作在java上超时。网PlainSocketImpl。java上的socketConnect(本机方法)。网AbstractPlainSocketImpl。java上的doConnect(AbstractPlainSocketImpl.java:345)。网AbstractPlainSocketImpl。在java上连接到地址(AbstractPlainSocketImpl.java:206)。网AbstractPlainSocketImpl。在java上连接(AbstractPlainSocketImpl.java:188)。网SocksSocketImpl。在java上连接(SocksSocketImpl.java:392)。网插座在com上连接(Socket.java:589)。ibm。db2.jcc。在java上运行(未知源代码)。安全AccessController。doPrivileged(本机方法)
我也有同样的问题。然后花大约4个小时,以下解决方案对我有效:
项目浏览器-
<Connector port="8484" protocol="AJP/1.3" redirectPort="8484 "/>
我使用分配给服务器的相同端口号(即8080或8484)更改端口和重定向端口。
希望这能奏效。
在许多情况下,服务器上的本地防火墙是一个问题。Windows防火墙可能会阻止传入请求。
你能检查一下端口是否打开(防火墙报告的任何阻塞)?DB2服务器的“db2diag.log”(诊断日志文件)中是否有任何活动?作为一个快速测试,您可以从您的客户机上执行“telnet 192.168.1.81 50000”。如果成功连接,防火墙就不再是问题了。
我正在尝试使用IBM Type4 JDBC驱动程序连接到远程DB2。下面是我的配置: 服务器: Windows 7 Professional DB2 LUW v10.5 DB2 SVCENAME=50000 TCP/IP通信 客户: null
我是新的Hibernate。我正在尝试运行我的第一个Hibernate示例。 我在本地系统中安装了db2 10.5服务器。 我的Hibernate配置文件: 我的示例数据库已启动并能够运行查询。当我尝试运行我的示例Hibernate程序时,它会引发以下异常。 我的Hibernate属性是正确的。我可以从我的网络空间管理控制台测试连接。 当我目瞪口呆时,连接被拒绝了:连接。ERRORCODE=-44
我目前正试图找到一个替代我的android应用程序后端。目前,我使用php servlets查询Mysql数据库。数据库(Mysql)托管在我学院的一台计算机上,所以我不能更改任何配置,因为我不是管理员。我只能编辑自己的表。 我试图使用以下代码创建一个java RESTful服务器:
当我尝试使用Google Cloud Composer提供的Python on Airflow调用API时,我一直收到“[Errno 101]连接超时”。 这是我的代码: 我试图触发DAG时的反应是: [2021 10月04日01:21:33056]{taskinstance.py:1152}错误-HTTPSConnectionPool(host='xxx.com',port=443):url超过
SQL错误[42601]:在“”后面发现意外标记“(标签CHAR(30),值VARCHAR(1))”。所需的标记可能包括:“E@DateType TABLE”..SQLCODE=-104,SQLSTATE=42601,Driver=4.21.29
我想用VS代码在远程Docker主机上的容器内开发代码,但我无法通过SSH连接到远程机器上的Docker(ECONNREJEIDE127.0.0.1:80)。 按照使用SSH隧道的VS代码说明(https://Code.visualstudio.com/docs/remote/containser-advanced#_option-2-connect-using-an-ssh-tunnel),我得