DB2 JDBC Connection Establishment - QTP - db2

Is it possible to create DB2 connection in QTP using JDBC driver?
Please guide me with some possible tips... Thanks!

Finally, I've found a solution !!!! :) It's very simple, if we know Java....!
Here we go - I've just written code in Java for DB2 connection establishment using JDBC driver and also included code for data retrieval.
And then, exported the package into Executable JAR File which made my job very easy. YES!!!!
After creating the Executable JAR, I've used the line below in QTP to access the DB2 through JAR.
SystemUtil.Run "cmd","/k java -jar C:\JarFile\DB2Connect.jar",""

Related

PUT command Snowflake on VSCode

I use the snowflake driver for SQLTools on vscode and i'm connect to my snowflake account but i'm some issues when i want to put some files with extensions .csv from my local machine to my stage in snowflake. Indeed, when i use the command put file:///mypath/file.csv #nameofmystage; it works on terminal but not in the window vscode with extension Snowflake driver. However, others commands like copy into works on the driver vscode ...
The error's message is Unsupported feature 'unsupported_requested_format:snowflake'
thanks in advance for your help
Not a solution or final answer, but a hint - here someone is having the same error, but with the Go-Driver: https://github.com/snowflakedb/gosnowflake/issues/227
Go didn't support PUT in this case.
Based on the PUT documentation, currently PUT is not supported in .NET driver.
Snowflake Driver for SQLTools does not look like a driver from Snowflake, as it was not mentioned here:
Connectors & Drivers
I am not sure how the driver is built, but given both vscode and .NET are both MS product, I assume that it is not supported, but hope others can help to verify.

How to Use HSQLDB in CMD Prompt

Currently, I am using HSQLDB version 2.6.0. I can connect and execute queries using HSQLDB GUI (runManagerSwing).
I want to know, how to connect and execute queries via CMD prompt? (Like we do for SQL Server, MySQL, Etc). I have tried the steps given in the below link. it doesn't works.
FYR - https://confluence.atlassian.com/bamkb/how-to-access-embedded-hsql-database-via-command-line-847749291.html
It would be great if anyone gives the step by step process. Thanks!
The steps are still OK. Use the SqlTool.jar version 2.6.0 and replace the URL with the JDBC URL for your database. If you have a problem, post YOUR config together the steps you are taking.

Why is Talend giving ClassNotFoundException for SQLServerDriver

I've installed Talend ESB 6.5.1 and am trying to connect to a SQL Server database.
I tried using the JTDS driver, but that didn't work, and it appeared that I needed a DLL that wasn't included in the , and do I installed the pure java MS driver instead.
Talend has put the MS driver into Studio\workspace\xxx\temp\dbWizard having renamed it, but when I try to use it I get
Database connection is failed.
java.lang.RuntimeException: java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
at org.talend.core.model.metadata.builder.database.JDBCDriverLoader.getConnection(JDBCDriverLoader.java:195)
...
It looks like Talend has put the jdbc driver somewhere, but it not referencing it correctly.
Any ideas what I need to do to get Talend to find it? (I've looked inside the .jar file and the class is definitely there.)
(Taking the generated JDBC URL and using this directly in a tJDBCInput with the driver jar selected works fine... bizarre)
The location where your jar was put does not look familiar. Try deleting all the jtds jar versions in the following locations :
<Talend root folder>\configuration\.m2\repository\org\talend\libraries
<Talend root folder>\lib\java
And restart your studio. When you go back to your component, you'll see an install button. You should be able to download and install the jar.

connecting to postgresql via jdbc driver and h2console.war

I am using JBoss AS 7.1.1.Final as my application server.
I have posted my question on the JBoss Community user forum: question-here
Reproduced below:
Installed AS 7.1.1.Final on my MacBook Pro.
Downloaded the Quickstart examples. Was able to successfully deploy and test helloworld, jboss-as-greeter wars.
Then i set up the postgresql database engine to try jboss-as-cmt example. I was able to compile and deploy it.
Everything works great except for one thing - i am unable to connect to the postgresql database from the h2console web-app that is shipped with the application server.
The jboss-as-cmt war works perfectly i.e i am able to add customers to the invoice. I can psql into the db engine and i can see all the records. My only problem is that i can't use h2console webapp to get into my jboss-as-cmt postgres database i created.
I am using:
"org.postgresql.Driver" for the Driver Class field.
"jdbc:postgresql://127.0.0.1:5432/jboss-as-cmt" for the JDBC URL. This is the same as my connection-url value set in the standalone-full.xml config file.
"sa" for username and password.
When i press the "Test Connection" button on the h2console app, unfortunately i see -
Class "org.postgresql.Driver" not found [90086-161]
org.h2.message.DbException: Class "org.postgresql.Driver" not found [90086-161]
at org.h2.message.DbException.get(DbException.java:158)
at org.h2.util.Utils.loadUserClass(Utils.java:429)
at org.h2.util.JdbcUtils.getConnection(JdbcUtils.java:146)
at org.h2.server.web.WebServer.getConnection(WebServer.java:653)
at org.h2.server.web.WebApp.test(WebApp.java:839)
at org.h2.server.web.WebApp.process(WebApp.java:215)
at org.h2.server.web.WebApp.processRequest(WebApp.java:164)
at org.h2.server.web.WebServlet.doGet(WebServlet.java:118)
at org.h2.server.web.WebServlet.doPost(WebServlet.java:153)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930)
at java.lang.Thread.run(Thread.java:680)
Caused by: org.h2.jdbc.JdbcSQLException: Class "org.postgresql.Driver" not found [90086-161]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:329)
... 24 more
Caused by: java.lang.ClassNotFoundException: org.postgresql.Driver from [Module "com.h2database.h2:main" from local module loader #b4e29b (roots: /Users/avyayatek/Downloads/jboss-as-7.1.1.Final/modules)]
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:423)
at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at org.h2.util.Utils.loadUserClass(Utils.java:424)
... 22 more
I am able to establish a successful connection from the jboss admin management console (http://localhost:9990/console) to the datasource. On the datasources profile panel, i have the name of the datasource set to "postgresDS", jndi set to "java:jboss/postgresDS". Connection URL is same as what i am use on the h2console - "jdbc:postgresql://127.0.0.1:5432/jboss-as-cmt"
I don't know why h2console is not connecting to the postgresql db engine. It makes a successful connection to the h2 in-memory database that is used in the jboss-as-greeter example.
I have placed the JDBC driver in the $JBOSS_HOME/modules/org/postgresql/main folder. Created the module.xml there. There is a Driver.class file inside the jar in ~/org/postgresql/ folder. I have modified the $JBOSS_HOME/standalone/configuration/standalone-full.xml to add the postgresql related datasource and driver sections.
As i said, i can build jboss-as-cmt and deploy and it works as expected. If i could make the h2console connect to this postgresql database, it will give me some peace.
I am a newbie to JBoss and server side stuff in general.
I have attached some pics for reference.
Thanks for your time.
Any thoughts is highly appreciated. Thanks for your insights and time.
Firstly, thanks to #ThomasMueller whose comment encouraged me to dig further and arriving at a functional solution. And also thanks to Wolf-Dieter on JBoss Community page for pointing me in the right direction. So, my sincere suggestion to #MarkRotteveel is that it does not hurt to have postings at credible forums and when we find a solution, everyone benefits.
This is what worked for me:
Thanks for the link to the source, i created the h2console from the source and this time, i placed the postgres JDBC driver jar file in the WEB-INF/lib folder. Now, i am able to use the h2console to connect to postgresql database.
The h2console app that ships with the quickstart does not have any library jars in the WEB-INF/lib folder. Instead it specifies the dependencies in the META-INF/MANIFEST.mf file. I am positive both the h2 and postgres drivers are loaded while the JBoss starts - i can see the logs. But for some reason, this app only recognizes the h2 driver and fails to recognize the postgres driver. Looking at the source file, i am fairly positive that there is no "hardcoding" anywhere in there. So, it's still a mystery to me.
An alternative to h2console tool - SQUirrel.
Thanks All. Hope this helps someone - not just limited to SO.
A driver can register itself as a handler for multiple JDBC protocols. It might have changed but at one point H2 would register itself as a handler for jdbc:postgresql - not entirely unreasonable since H2 can be run in PostgreSQL emulation mode. You would be fine if you used the DriverManager directly (since it only requires the url) but have problems if you used a connection manager (which wants a driver classpath) since the driver is NOT org.postgresql.Driver.
This also caused problems if you had both h2 and postgresql drivers in your classpath. I don't remember if it's "first one registered" or "last one registered" but which driver you got from the DriverManager would depend on the order the jars were loaded. It caused a lot of grief and one reason I got into the habit of always defining a DataSource that explicitly named the classpath to use. It's a bit of overkill with a one-off app that only needs a single connection but it eliminates the ambiguity.
As for the particular problem I just add the jars to the java classpath. I have a small bash shell script that puts about a dozen jars onto the classpath and it allows me to connect to large number of databases without a problem. It avoids the need to rebuild the h2 jar every time I need to update one of the drivers.

Getting derby database connection from Java (in eclipse)

I was following the following instructions:
http://www.eclipse.org/articles/article.php?file=Article-EclipseDbWebapps/index.html
in order to set-up a derby database server and everything works fine. I created the DB and could easily access it. however, these instructions use JSP to access my DB and I wand to change it so that I can access the DB through my custom Java classes but I cant create any connections to the DB. I simply tried:
Connection con = DriverManager.getConnection
("jdbc:derby://localhost:1527/features", "root", "root");
Note: here my DB is names features
I get the error:
java.sql.SQLException:
No suitable driver found for jdbc:derby://localhost:1527/features
I tried loading the class for the driver:
Class.forName("org.apache.derby.jdbc.ClientDriver");
I get the error:
java.lang.ClassNotFoundException:
org.apache.derby.jdbc.ClientDriver
I dont know where to find and put org.apache.derby.jdbc.ClientDriver. How come in the instructions they only add a context.xml under META_INF and everything work? What am I missing?
Did you:
Copy the file derbyclient.jar from that folder to your TOMCAT_ROOT/lib
folder (if you're using Tomcat 5.x, install into
TOMCAT_ROOT/common/lib). This installs the Derby JDBC driver into
Tomcat for use in a DataSource.
You need the derbyclient.jar in the classpath.