I've never used a JDBC connection before, and am familiar with only ODBC connections. We have a vendor who will only support JDBC. They consider ODBC 'Open Source', and therefore do not support connections to their DB through an ODBC connection. Does anyone know if it is possible to create an SSIS connection via JDBC? I am not getting any hits on this from my initial research online.
No, SSIS does not have the java interface necessary to do this. You would have to use an ADO.Net or OLEDB driver, or the OLEDB provider for ODBC to connect to a database.
You could write a java program that extracted the data to a file, and then read the data from that file. You can execute a process from SSIS, which could be used to run the Java program.
Related
I have created an Autonomous Transaction Processing database in Oracle Cloud. There are no ready-for-use JDBC links around, but there are "wallets". There is an instance wallet and regional wallet. Oracle says one of them, preferably instance wallet, should be used to connect to this DB instance.
A wallet is a ZIP file with a dozen of files inside. I've downloaded an instance wallet and unzipped it. Now I'm trying to connect DataGrip to this instance.
There is a TNS connection type in DataGrip and there is a famous tnsnames.ora in the wallet, so I guess I should use them. TNS connection type accepts a TNSADMIN parameter, which, I guess, is a directory of that wallet. tnsnames.ora from the wallet lists a few service names, AFAIU they differ by their priority, e.g. one for low-priority queries, another for medium-priority and one for the highest priorities question. I'm OK with medium priority, so I did this:
As you see, I'm getting an error:
[08006][17002] IO Error: The Network Adapter could not establish the connection
SSO KeyStore not available.
I've googled around, but this topic seems to be complicated. Oracle has a lot of connection parameters with certificates involved in the connection process, and I'm really new and I just want to connect to this instance. Why it should be so complicated? Can I use this wallet directly in DataGrip?
It seems that I've did everything correctly and the only problem is actually the driver version.
As of today, 2021-02-02, the latest available Oracle driver version in DataGrip is 19.8.0.0:
To fix the issue I've just created another Oracle driver in DataGrip and manually provided the latest JARs:
Go to the Oracle Database 21c (21.1) JDBC Driver & UCP Downloads
Download the ZIPped JDBC driver and companion JARs corresponding to your Java version: 8 or 11. Or just download the version for Java 8 (ojdbc8-full.tar.gz). It should work with any modern Java.
Create new subdirectory in the DataGrip's drivers directory for you driver. Something like ~/.config/JetBrains/DataGrip2020.3/jdbc-drivers/Oracle/21.1 for Linix.
Unzip the driver in that directory.
Configure new driver in DataGrip. Just clone the existing Oracle driver and replace the "Driver Files" with the ones from the ZIP.
Use this new driver to connect to the instance:
DataGrip 2021.1 provides Oracle JDBC Driver 21.1.0.0 with all required jar files.
Also, read DataGrip article about connection to Oracle using wallets.
I need to use a JDBC driver (JtOpen AS400) in my Powershell script to connect the DB2 database. Could you help me? I don't know how to write the connection string.
I have tried with ODBC driver but it doesn't work. I think my ODBC configuration is bad but I can't find the problem. I have also tried with a DB2 provider, but the installation is not complete. The provider is not added to the list, I don't know why.
There are other solutions?
I have installed the Oracle client on my server & configured the TNS as per the database hosters instructions.
Powerbi can now connect to the Oracle datasource.
Id like clarity regarding what method PowerBI is connecting to the oracle source.
For example, I can connect to oracle via ODBC without using the Oracle Client.
Id like to know what protocol the oracle client is using and what are the benefits of using it over ODBC?
It looks like Power BI recommends installing the ODAC runtime for your environment. There is no alternative option. You might be asking why Power BI uses the Oracle ODP drivers instead of the Oracle ODBC driver - I'm pretty sure the answer is that it's faster and supports more Oracle features, since it doesn't have to implement a bridge.
If you're frustrated with the large size of the Oracle Client or full ODAC developer downloads, you might be able to just install the ODAC XCopy runtimes, which are much smaller. (32-bit, 64-bit)
To answer your question about protocols, as far as I know, every client uses the Oracle Net component of the proprietary Oracle Net Services network stack to connect the client to the server.
Then the client sends commands over the network connection. Again, as far as I know, most clients use the low-level OCI library to do this.
There are a lot of different clients built on top of OCI:
SQL*Plus
SQL*Loader
Datapump
Oracle Instant Client
Oracle Client (ie, "Thick Client")
Oracle JDBC OCI driver
Oracle ODBC driver, and other drivers for Microsoft products (ODP.NET unmanaged, ASP.NET, OLE DB)
There's a few exceptions:
Oracle JDBC Thin driver (entirely Java code)
Oracle ODP managed driver (entirely .NET code)
There is also a Microsoft ODBC driver for Oracle, although Microsoft explicitly says to use the Oracle driver instead. It doesn't support most modern Oracle data features ("Unicode data types, BLOBs, CLOBs, and so on").
I have a database Connection established in odbcad and Microsoft Access (aswell as working in Excel) via ODBC and want to also get it working in Oracle SQL developer.
It is a Windows SQL Server as far as i know and I have tried several Settings, of which None works. I have also installed Driver for ODBC. I would like to Import Settings into SQL developer as applied in MS Access, is there any possibility?
No, SQL Developer is a Java application and uses a JDBC driver.
But if you look at the odbc properties for your connection, those should largely translate to what you need to define a basic connection.
Oracle:
Server name or IP address of the DB, port # for the listener, and the name of the SID or Service, plus a valid username and password is all you need to connect to Oracle.
What error do you get when you try to connect?
Show us what you're trying.
Update:
You're trying to connect to SQL Server but you're getting"
Native SSPI library not loaded
You're trying to use OS Authentication for your connection. For this to work with the jTDS driver, you need to copy a DLL file named ntlmauth.dll (which is for NT authentication) under the jtds-x.x.x-dist\x86\SSO\ or jtds-x.x.x-dist\x64\SSO\, to any directories in the PATH environment.
Please update your question such that's it's clear you're connecting to SQL Server and share the error message so others can find it.
I imagine this question is a duplicate of many previous iterations of the same challenge.
Is it possible to create a connection to OBIEE from Oracle SQL Developer?
I know it is possible to create an ODBC connection to the Oracle BI server within the Windows ODBC Data Source Administrator, and that other ODBC client tools can use that ODBC connection to run SQL against the BI server, but I don't see any way for SQL Developer to use that ODBC connection.
I'm on OBIEE 12.2.1.4 and SQL Developer 17.3.0.271.
UPDATE
Based on Robin Moffatt's article at https://rmoff.net/2016/03/28/connecting-to-obiee-via-jdbc-with-jisql/, I used jisql (https://www.xigole.com/software/jisql/jisql.jsp) to set up a connection to OBIEE using the JDBC driver that ships with the OBIEE client -- bijdbc.jar, which is located at $ORACLE_HOME/bi/bifoundation/jdbc/.
Following is a screenshot showing how jisql is able to successfully connect to my OBIEE server via the bijdbc.jar driver and run an example SQL statement; the Oracle-specific connection details are outlined in red:
Screenshot 1: OBIEE JDBC connection test using jisql
My next step was to try to implement this same successful JDBC connection in SQL Developer. To that end, I added bijdbc.jar to SQL Developer's third-party JDBC drivers:
Screenshot 2: bijdbc.jar added to SQL Developer third-party JDBC drivers
After adding the JDBC driver, I did not see a new tab in SQL Developer's connection dialog. (By comparison, in the past, when I have added other third-party JDBC drivers, such as the jTDS and MySQL drivers also seen in screenshot 2, new tabs had become available.)
Since there was not a new tab in SQL Developer's connection dialog, I tried setting the Oracle tab's connection type to Advanced and inserting the JDBC connection string as the Custom JDBC URL. Testing that connection leads to a "String index out of range: -1", as seen in this screenshot:
Screenshot 3: Error using custom JDBC URL in SQL Developer
Since that same JDBC connection string works in jisql, I suspect that either I'm doing something wrong, or SQL Developer does not support connecting to OBIEE via that bijdbc driver.
Ok, fair enough. Have a look at what Andrew did to make the ODBC drivers usable in Excel - it's basically down to manipulating things in Windows:
https://www.rittmanmead.com/blog/2017/02/working-with-obiee-data-in-excel-using-odbc/
Just adding a final answer here in case anyone stumbles upon this page asking the same question:
No, SQL Developer does not currently support connecting to an OBIEE server, although other tools can be used to connect to the server using either ODBC or JDBC.