my scenario is just like this.
I need to install DB2 in one VM and create databases on it. From an other VM i need to acess the DB through client. Can any one help me by saying the process.
Thank you
You need to install the client software and then you need to catalog the node and the database (see "catalog tcpip node" and "catalog database" in the DB2 documentation).
Related
I need to poll DB2 database table until a record is created and once it is successful,i need to trigger a task in dag.
For this I have to do below:
Create a DB2 connection in airflow
Use SQL sensor to poll db table using the connection created in above step.
But I don't see the connection type option for DB2 (screenshot attached). Do I have to install something? Please help.
PS: I am new to Airflow.
There is no DB2 specific connection.
For general connections you can just use the Generic connection:
For older Airflow versions that doesn't have Generic connection you can use any other connection type (HTTP/MySql for example). It doesn't really matter. Airflow looks for connection by the connection id. The type is almost meaningless in that perspective.
Yes the airflow connection does not appear to be a specific connection for db2, so you have to choose generic in connection Type.
I also recommend to install the security mechanism for connection.
the next package: pip install airflow-provider-db2
I have tried to connect to DB2 successfully on Airflow 2.2.5.
Airflow doesn't has specific provider for DB2. You need to use JDBC to connect.
So you need to install some libraries of Airflow and download DB2 JDBC driver to fulfill this task.
List of all libs and provider need to install below:
Apache-airflow-provider-jdbc/Version:2.1.3
JayDeBeApi/Version:latest
JPype1/Version:latest
You also need to download DB2 JDBC drivers. This driver include some packages and license file like:
db2jcc4.jar
sqlj4.zip
jdbc4_LI_en
Because it will use JDBC to connect,openJDK also need to install on your docker.
Setting environment variables JAVA_HOME, PATH and CLASSPATH are needed.
All of above actions can be done on your docker file.
When you have completed to build your image, You can start your airflow to set connection.
Connection URL syntax: jdbc:db2://Host:Port/Database
You can replace HOST,PORT and Database.
Driver Path: You can input where your class file(db2jcc4.jar) located.
Hope these tips can help you. I am New to Airflow too.
I need to backup my DB so I use Tools --> Database Export.
However, when I want to choose my connection I got no connection in drop down list.
Just to mention that I can see my connection list in "Connections" tab and also all connections in "C:\Users{MyUser}\AppData\Roaming\SQL Developer\system3.0.04.34\o.jdeveloper.db.connection.11.1.1.4.37.59.31\connections.xml" file
Same behavior happens also in "Database Copy", "database Diff" and in "Monitor SQL"
Any idea ?
Thanks in advance
The Database Export feature is built for Oracle Databases only. That's why you aren't seeing your DB2 connections in the Export, Copy, or DIFF wizards in ORACLE SQL Developer (keyword, Oracle).
If you want to backup your IBM DB2 database, you need to use the tools that IBM gives you for managing DB2.
I downloaded and installed on Windows the following:
IBM DB2 Runtime Client (64-Bit) 10.5
with the aim of connecting to a remote server database.
It installed here:
C:\Program Files\IBM\SQLLIB
But I don't see any DB2 folders in there.
I tried to catalog the remote db like this:
db2 catalog tcpip node testing remote the.server.com server 446
If I then try to connect to it, I get the following:
SQL1031N The database directory cannot be found on the indicated file system.
There is some wizard installed called the 'Default DB2 and IBM Database Client Interface Selection Wizard'. I ran this and it said it would create a default DB2 copy and would be used by default, called DB2COPY1 and it would be installed to C:\Program Files\IBM\SQLLIB.
But I'm nnot sure what this is doing really.
What do I need to do here to connect to the remote DB2??
EDIT:
I have managed to get a bit further based on this article here:
https://www-01.ibm.com/support/docview.wss?uid=swg21008914
my current commands look like:
db2 catalog tcpip node tstnode remote my.server.com server 446
db2 catalog db db1name as mytstdb at node tstnode authentication server
db2 catalog dcs db db1name as A123456DAT
db2 terminate
db2 connect to mytstdb user <username> using <password>
However the connect fails with:
SQL30061N The database alias or database name "A123456DAT " was not
found at the remote node. SQLSTATE=08004
Any ideas?
If you are connecting through port 446, I guess you are trying to connect to DB2 for IBM z or DB2 for IBM i. If yes, you will need at least Db2 Connect.
Regarding error "SQL30061N The database alias or database name "A123456DAT " was not found at the remote node. SQLSTATE=08004" it happens to me when the userid does not have some priviledges on the source system. If it is an IBM i, look at the corresponding spool file. DRDA Connections are attended by jobs called QRWTSRVR. With the IBM i command WRKSPLF SELECT(USERID) (changing USERID by the user trying the DRDA connection) you can see the spool files for jobs related to your connection. Usually spool file messages are very specific on the cause of the failure.
If you are trying to connect to DB2 on z, I don't have experience.
Is it possible to access my oracle database from a separate system, other than the one on which the database is stored?
If yes, then how?
You can access the tables of a distant database by using your_table#your_database if you configured it properly.
Yes you can access your database which is on one machine( SERVER) from other machine (CLIENT). You need to install oracle client software on the CLIENT machine and then you can establish a connection to the server database through network . You have to use sqlplus to connect or if you are using windows then you can use tools like toad which will establish a connection between your client machine and database server machine .
1 and i'm connected to intern database java:jboss/datasources/ExampleDS
i want to browse the data like sql in tables etc. in the administration console of jboss
but there is no such option in Administration menu or can someone help me on how to browse data? Or is there some other tool on this?
Database has nothing to do with application server. First you have to find out what database server is datastore ExampleDS using. Then connect to that server. Example: if ExampleDS uses Mysql on 192.168.1.1:3306 you have to use some Mysql client (Mysql workbanch) to connect to that server. There you can see actual tables.