IBM / db2forzosdeveloperextension-about

IBM Db2 for z/OS Developer Extension for VS Code
https://IBM.github.io/db2forzosdeveloperextension-about/
Other
12 stars 7 forks source link

Unable to properly configure the JDBC driver - ERRORCODE = -4230 #151

Open DavidGahringTXCPA opened 1 month ago

DavidGahringTXCPA commented 1 month ago

Regardless of what I've tried, I've been unable to figure out exactly how to configure the extension, license (?) and jdbc driver to actually make a connection to our DB2 instances on z/OS.

I can't seem to get past this error...

Failed to connect to mvs2/cmp1d: [jcc][t4][10509][13454][4.32.28] Connection to the data server failed. The IBM Data Server for JDBC and SQLJ license was invalid or was not activated for the DB2 for z/OS subsystem. If you are connecting directly to the data server and using DB2 Connect Unlimited Edition for System z, perform the activation step by running the activation program in the license activation kit. If you are using any other edition of DB2 Connect, obtain the license file, db2jcc_license_cisuz.jar, from the license activation kit, and follow the installation directions to include the license file in the class path. ERRORCODE=-4230, SQLSTATE=42968

Any detailed guidance on where to get each piece of the puzzle would be appreciated. Really appreciated.. ;-)

-Dave

equalchenbj commented 1 month ago

Could you see if this guide works for you? https://marketplace.visualstudio.com/items?itemName=IBM.db2forzosdeveloperextension#setting-the-jdbc-license-and-jdbc-driver-files

DavidGahringTXCPA commented 1 month ago

Greetings,

Yes, I've followed those instructions as well as others I have found, but I always seem to come back to the same error. Here are some questions I have..

Is there a specific flavor/version of Java I need to use to make this work? Is there a way to trace the Java startup to ensure my CLASSPATH is being built properly? Are there any settings I should be configuring outside of VSCode to make this all work?

Thanks for any guidance!

-Dave

From: equalchenbj @.> Sent: Friday, July 26, 2024 7:23 PM To: IBM/db2forzosdeveloperextension-about @.> Cc: David Gahring @.>; Author @.> Subject: Re: [IBM/db2forzosdeveloperextension-about] Unable to properly configure the JDBC driver - ERRORCODE = -4230 (Issue #151)

CAUTION: This email originated from outside of the Texas Comptroller's email system. DO NOT click links or open attachments unless you expect them from the sender and know the content is safe.

Could you see if this guide works for you? https://marketplace.visualstudio.com/items?itemName=IBM.db2forzosdeveloperextension#setting-the-jdbc-license-and-jdbc-driver-files

- Reply to this email directly, view it on GitHubhttps://github.com/IBM/db2forzosdeveloperextension-about/issues/151#issuecomment-2253640725, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BKEIQEZFZW3NQQSSNSLBEADZOLK33AVCNFSM6AAAAABLRJYFHCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENJTGY2DANZSGU. You are receiving this because you authored the thread.Message ID: @.**@.>>

DavidGahringTXCPA commented 1 month ago

Update:

I was able to confirm in the logs that the Db2SqlService (DSS) is starting up with the license and JDBC jars in the classpath. These are the same files that seem to work fine under other products. Not sure why the extension is complaining...?

DavidGahringTXCPA commented 1 month ago

Update - Solution?:

Ok, well I've discovered how to get this working, but I think it may be considered a bug?

The solution was to place the license and JDBC jar files directly into the lib directory for the extension. I stumbled across a reference to that lib path by looking at the classpath for the startup of the DSS. It is loading "*" from the lib directory. When I looked at that directory, low and behold, there was a db2jcc4.jar file in there! I don't know where that driver came from, I can only assume it was installed with the extension.

The workaround for me was to remove that JDBC file and place my license and JDBC jar files into that lib directory. This seems to be the only solution, as using the dependencies setting for the extension does not work. The only combination I could get working was to clear the dependencies setting and placing both of my local .jar files directly into the extension's lib folder.

Should this be logged as a bug? I'm thinking so..

Dave

equalchenbj commented 1 month ago

Hi Dava,

Thank you for your update. For your questions, the answer is: Java should be higher than Java 8. In the setting, you can set the log level to trace. No other settings are needed outside VSCode.

Yes, extension provides a JCC driver with it. So you only need to provide your own license. But if you specify your JCC driver with your license file, your JCC driver will be used instead of the one in extension.

image

Could you share your screen of your settings to help us investigate the problem you encountered?

DavidGahringTXCPA commented 1 month ago

Hello again,

So, I tried as you suggested and placed my license .jar file in the dependencies, and placed the original db2jcc4.jar file back in the lib path (as the only file in there). As before, this does not work. Here is a screenshot of the setting and the error returned when attempting to connect.

@.***

Now, if I clear the setting and then copy my license and db2jcc4.jar files into the lib directory, overlaying the provided driver, then it works..

@.***

-Dave

From: equalchenbj @.> Sent: Tuesday, July 30, 2024 1:17 PM To: IBM/db2forzosdeveloperextension-about @.> Cc: David Gahring @.>; Author @.> Subject: Re: [IBM/db2forzosdeveloperextension-about] Unable to properly configure the JDBC driver - ERRORCODE = -4230 (Issue #151)

CAUTION: This email originated from outside of the Texas Comptroller's email system. DO NOT click links or open attachments unless you expect them from the sender and know the content is safe.

Hi Dava,

Thank you for your update. For your questions, the answer is: Java should be higher than Java 8. In the setting, you can set the log level to trace. No other settings are needed outside VSCode.

Yes, extension provides a JCC driver with it. So you only need to provide your own license. But if you specify your JCC driver with your license file, your JCC driver will be used instead of the one in extension. image.png (view on web)https://github.com/user-attachments/assets/c4e05594-4cd4-4485-9d19-840040436734

Could you share your screen of your settings to help us investigate the problem you encountered?

- Reply to this email directly, view it on GitHubhttps://github.com/IBM/db2forzosdeveloperextension-about/issues/151#issuecomment-2258836529, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BKEIQEZFARCZCGQWZKXTYVDZO7DBXAVCNFSM6AAAAABLRJYFHCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENJYHAZTMNJSHE. You are receiving this because you authored the thread.Message ID: @.**@.>>

equalchenbj commented 1 month ago

Thanks Dave, but I can't view your screenshot. Could you add them in your comment or send me(kechen@ibm.com) directly? Thanks.

DavidGahringTXCPA commented 1 month ago

As requested..

Screenshot 2024-07-30 154813 Screenshot 2024-07-30 154330

equalchenbj commented 1 month ago

Hi Dave, Thank you for the screen shots. I see you have double quotes for the path. If you remove the double quotes, it should work.

DavidGahringTXCPA commented 1 month ago

Hmm.. I'll try that, but I think I had done that previously.. will let you know..

-Dave

From: equalchenbj @.> Sent: Thursday, August 1, 2024 12:57 PM To: IBM/db2forzosdeveloperextension-about @.> Cc: David Gahring @.>; Author @.> Subject: Re: [IBM/db2forzosdeveloperextension-about] Unable to properly configure the JDBC driver - ERRORCODE = -4230 (Issue #151)

CAUTION: This email originated from outside of the Texas Comptroller's email system. DO NOT click links or open attachments unless you expect them from the sender and know the content is safe.

Hi Dave, Thank you for the screen shots. I see you have double quotes for the path. If you remove the double quotes, it should work.

- Reply to this email directly, view it on GitHubhttps://github.com/IBM/db2forzosdeveloperextension-about/issues/151#issuecomment-2263530286, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BKEIQEZ2NKUJU2IEF55M4ILZPJSGLAVCNFSM6AAAAABLRJYFHCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENRTGUZTAMRYGY. You are receiving this because you authored the thread.Message ID: @.**@.>>

DavidGahringTXCPA commented 1 month ago

You are correct! I may have tried that in earlier attempts, but was thwarted by Carbon Black, preventing the load from the external location. I moved the license to an "approved" path on my system, and this time it loaded.

In "Windows speak", I thought the double quotes was an acceptable way to enclose file names that contained spaces? The documentation should proably be updated to state that quotes should not be used. Especially with the "Copy as path" option provides the file name and path enclosed in double quotes (at least on my system).

Thanks for shedding more light on the problem. Since 2.1.7 just rolled out yesterday, I would have been broken again regardless. ;-)

-Dave

equalchenbj commented 1 month ago

Thank you for letting us know this problem. We didn't notice it before. We will update the document accordingly.

When updating to a new version, all settings are supposed to be kept as they are. If you see anything you need to redo after updating, please share with us so that we can take a look.