1

I'm trying to connect to DB2 db but getting the error:

DAL01013. Cannot create connection to server 'Unknown server' due to the following: [jcc][t4][2034][11148][3.69.24] Execution failed due to a distribution protocol error that caused deallocation of the conversation.
A DRDA Data Stream Syntax Error was detected.  Reason: 0x3. ERRORCODE=-4499, SQLSTATE=58009

Assume it's something with my system. I cannot connect neither via DataStudio nor via QMF. Other users from other system can. I use same jdbc drivers. My system is Windows 7. Is there anything else I need to adjust on my system?

John Glabb
  • 1,336
  • 5
  • 22
  • 52
  • DRDA and ODBC/JDBC are different protocols, usually attended on different ports. What kind of Db2 server are you trying to connect to? Db2 for LUW, Db2 for IBM i, or Db2 for zOS? What is the version of your DB2 server? – Daniel Lema Jul 25 '19 at 23:06
  • This is DB2 for LUW. Also when I change the port for 50000 I get another error: DAL010059. An error occurred while accessing the database: "RSBI.CATALOG_INFO" is an undefined name.. SQLCODE=-204, SQLSTATE=42704, DRIVER=3.69.24 Extended error description is: "RSBI.CATALOG_INFO" is an undefined name. – John Glabb Jul 30 '19 at 13:14
  • See https://developer.ibm.com/answers/questions/470013/error-when-trying-to-connect-to-db2-vis-qmf/ . All details needed to solve your issue are known at your site, just systematically compare the connection-string details and software-versions between working and failing environments. Your issue is just a configuration matter... – mao Jul 31 '19 at 06:02
  • thank you @mao.. That solved the problem – John Glabb Aug 01 '19 at 01:29

2 Answers2

1

Personal repository needs to be created first:

https://developer.ibm.com/answers/questions/470013/error-when-trying-to-connect-to-db2-vis-qmf/

John Glabb
  • 1,336
  • 5
  • 22
  • 52
1

Generally you get the reason 0x3 from error -4499 out of the IBM JDBC driver when you are connecting to a SSL port, but you have not specified sslConnection=true on your JDBC connection string. You can also get the error if your database name is incorrect (i.e. does not exist on the server), or your JDBC dirver is too old (DB2 JDBC Driver Versions and Downloads Download Fix Packs by version for IBM Data Server Client Packages)

If connecting to Db2 on Cloud, Db2 Warehouse or Db2 Warehouse on Cloud, all you should need is the sslConnection=true as the CA certificate used in these products is part of the Db2 driver package (for recent drivers anyway)

If connecting to Db2 on premise, you can specify your certificate location via the JDBC properties sslCertLocation or sslTrustStoreLocation and sslTrustStorePassword

Common IBM Data Server Driver for JDBC and SQLJ properties for all supported database products

sslCertLocation Specifies that an application can configure the location of a trusted certificate file. For applications that have the database server certificate, sslCertLocation is the only property that is needed to be configured to instruct IBM Data Server Driver for JDBC and SQLJ to trust the certificate for SSL connections. This property removes the need to import the certificate into a Java truststore database and related driver configurations.

Error codes issued by the IBM Data Server Driver for JDBC and SQLJ

error codes in the ranges -4200 to -4299, and -4450 to -4499 are reserved for the IBM® Data Server Driver for JDBC and SQLJ.

Paul Vernon
  • 3,818
  • 1
  • 10
  • 23