Cannot create new Oracle ODBC Datasource - oracle

I try to add new Data Source in ODBC Administrator but I get an error:
Driver's ConfigDSN, ConfigDriver, or ConfigTranslator failed
The setup routines for the Oracle in OraClient11g_home1 ODBC driver could not be accessed. Please reinstall the driver.
Reinstalling Oracle does not help.
Other drivers (include stone-age "Microsoft ODBC for Oracle") work well. I can also use existing ODBC data sources I added earlier times, so the driver works well. I get the error only when I try to add a new data source or try to re-configure an existing one.
I found this solution https://serverfault.com/questions/555972/cannot-create-oracle-odbc-source-on-64bit-windows-7 but it does not help either.

I found the problem, it was caused by some manual edits in my Registry. It should be like this:
[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Oracle in OraClient11g_home1]
"APILevel"="1"
"CPTimeout"="60"
"ConnectFunctions"="YYY"
"Driver"="C:\\oracle\\product\\11.2\\Client_x64\\bin\\sqora32.dll"
"DriverODBCVer"="03.51"
"FileUsage"="0"
"Setup"="C:\\oracle\\product\\11.2\\Client_x64\\bin\\sqoras32.dll"
"SQLLevel"="1"
DLL for Driver is "sqora32.dll" whereas DLL for Setup it is "sqoras32.dll"

Related

Tableau driver-resolver definition for JDBC Drivers in a custom connector

I'm trying to figure out how to get Tableau to recognize my JDBC Driver when creating a custom JDBC connector using the Tableau Connector SDK . Currently when Tableau loads my custom connector I can tell the driver is not found because there is a link that shows up in the Connector that says:
"Download and install the drivers, and then connect."
Tableau online does not have the drivers for the SAS data I want to connect to: so I cannot download the drivers to install from Tableau
Luckily I already have the .jar files and have placed them at C:\Program Files\Tableau\Drivers on Windows
In the Connector API Reference "driver-resolver" states that: "This is mainly used for ODBC connections but can be used for JDBC as well" but I do not see specific instructions for working with JDBC drivers explicitly. Except for the Postgres JDBC Example which DOES NOT use a driver-resolver. I also have not seen a JDBC example in the Resolvers github samples
In the Tableau logs I can see that the .jar files containing my driver are recognized by searching for their names, they are shown in the logs.
Logs Environment Section Excerpt:
"environment","v":{...all my jar files listed here}
Drivers not being recognized screenshot that says to download the drivers
Finally, here is what my .tdr file looks like with my current driver-resolver definition that does not work
<tdr class='sas_jdbc'>
<connection-resolver>
<connection-builder>
<script file="connectionBuilder.js" />
</connection-builder>
<connection-properties>
<script file="connectionProperties.js" />
</connection-properties>
</connection-resolver>
<driver-resolver>
<driver-match>
<driver-name type='exact'>com.sas.rio.MVADriver</driver-name>
</driver-match>
</driver-resolver>
</tdr>
Can anyone shed some light on this for me? I feel like I'm close. An example using a JDBC driver-resolver in a .tdr file would be nice.
You don't actually need a .tdr file with JDBC, as all the driver resolution happens in the connectionBuilder.js file today. The URL of the connection there includes the driver name. I added a story to our backlog to make this more clear. I should also mention, that hopefully you are using 2019.4 or higher for the best experience. Thanks for using the SDK!
The answer to this is that driver-resolver is not used in JDBC custom connector definitions. The problem I'm experiencing with getting the SAS JDBC Driver to work is because the SAS JDBC Driver is JDBC Type 2.0. JDBC Drivers need to be Type 4.0 to work with a Tableau custom connector using the Tableau Connector SDK.
The resolution is to use a Type 4.0 JDBC Driver which I have not seen from SAS yet.

Using a oracle data adapter to deploy and fill reports on jasperserver

I have a oracle dataadapter that is a datasource on jasperserver.
But when I create a report using this adapter, it does not preview or fill the report on Jaspersoft Studio and JasperReports Server. Is there anyway I can create a new oracle dataadapter for testing purposes. I have downloaded odjc7.jar. But when I create a driver path to this file. I recieve a error Reason:java.sql.SQLRecoverableException: IO Error: Unknown host specified
Any details to whether oracle datasource can fill reports would be much appreciated and any details to creating a new oracle dataadapter.
If your link is correct and already works on other pcs/servers, then the error is in the connection to the database.
Check your connection to the database. Open a SQL-Developer tool and try to connect to the database.
Check if you really did add the driver to the data adapter:
It should look like this:
If you didn't provide the right driver it will not work!
Recheck your ojdbc7.jar. Maybe download it again from an official source. Also sometimes the ojdbc7.jar leads to some unknown errors. At a Jaspersoft Roadshow they recommended to still use the ojdbc6.jar.

How to replicate existing OracleRDB ODBC connection in Oracle's SQL Developer application?

I am new to Oracle database in general, but I'm attempting to get Oracle's SQL Developer running on a workstation that has pre-configured System DSNs created for an OracleRDB database. I've confirmed the ODBC connections are working because I can use MS Access to connect and link to the tables. The "test" options within ODBC also succeed. Now I am trying to get a similar connection created using SQL Developer so I can see the column types and write queries in a more useful editor.
Here's what I have available when examining the ODBC connection properties:
Now I'm trying to create a duplicate connection in SQL Developer, but I'm at a loss for why things don't work. I first tried using the default SQL Developer installation, but couldn't get things working. Then I discovered there's an OracleRDB extension available, so I installed that, but I keep getting this error when attempting to use similar values:
As I stated, these ODBC connections were pre-configured on the workstation I'm using, so I don't know anything more than what is provided by the Oracle ODBC driver window.
Is there something obvious I'm not seeing or doing to replicate this connection in SQL Developer? Or perhaps something else I can do to debug this to learn more?
UPDATE
On the advice of one answer I'm trying to make the connection with JDBC, but having a hard time understanding what I'm doing wrong. Here's another screenshot with the connection parameters I have available, but with the server and database names changed:
With these values (the port came from my tnsnames.ora file), if I try to make a JDBC connection I keep getting the following error from SQL Developer:
One final attempt I did was to use the proper values in the Oracle RDB tab, and when I use them and click 'test' the Testing Connection dialog just spins and never seems to return:
So I apologize for the long post here, but I'm struggling because there's just something I am really not understanding about how this all works. I appreciate everyone who took the time to read this question.
Oracle SQL Developer is a Java Application. You'll need to get the JDBC Driver for RDB.
Once you have that, in the SQL Developer preferences, find the Third Party JDBC section, and then use that to add an entry and point to the JAR for what you just installed.
Step by step instructions here.
Working connection string for RDB Thin Driver:
RDB_DB_CONN_STR = "jdbc:rdbThin://node.myplace.com:1707/";
where node.myplace.com is the name of the OpenVMS node hosting the RDB Thin Driver, 1707 is the port number assigned to the RDB Thin Driver.

Issue with Oracle ODBC

I have a server with an Oracle Database. Using Navicat I can connect to the Database and see the database tables, run queries etc.
I am trying to add ODBC support for Oracle to be used with Crystal Reports.
What I have done so far:
I struggled to install instant client and get it working as shown in some guides. As suggested I downloaded ODAC which bundled on the Oracle ODBC Driver and Instant Client etc.
After installing I had Oracle installed in C:\app\Administrator\product\12.1.0\client_1
I added two Environmental Variable:
%ORACLE_HOME% to go to C:\app\Administrator\product\12.1.0\client_1
%TNS_ADMIN% - to go to C:\app\Administrator\product\12.1.0\client_1\Network\Admin
Once added, I then went to control panel->Administrative Tools->ODBC.
I clicked system DSN and added the connection. The connection was successful.
However, when selecting the ODBC connection via Crystal Reports, the Database is showing the database functions (I assume stored functions as they appear in the functions section for the DB in Navicat). I cannot however, see the actual database tables.
Has anyone else experienced this issue and if so does anyone know how to resolve this. Many thanks for your time

Error using Hive ODBC

I have been trying hard to run an example using Hive ODBC but unsuccessful so far.
I am running my java program from Win64 using the Hive ODBC driver from Hortonworks. I am ending up with the below error consistently.
Exception in thread "main" java.sql.SQLException: [Microsoft][ODBC Driver Manager] Invalid string or buffer length
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6957)
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114)
at sun.jdbc.odbc.JdbcOdbc.SQLGetDataString(JdbcOdbc.java:3907)
at sun.jdbc.odbc.JdbcOdbcResultSet.getDataString(JdbcOdbcResultSet.java:5698)
at sun.jdbc.odbc.JdbcOdbcResultSet.getString(JdbcOdbcResultSet.java:354)
at sun.jdbc.odbc.JdbcOdbcConnection.buildTypeInfo(JdbcOdbcConnection.java:1503)
at sun.jdbc.odbc.JdbcOdbcConnection.initialize(JdbcOdbcConnection.java:381)
at sun.jdbc.odbc.JdbcOdbcDriver.connect(JdbcOdbcDriver.java:174)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:207)
at inverika.training.hive.HiveODBCClient.main(HiveODBCClient.java:30)
What I gather from my search is that this is related to microsoft ODBC driver issue but did not find any suitable solution. Does any one have any idea about this issue? Appreciate if any one can provide pointers.
Alternately I want to try ODBC directly from my Linux VM. For thsi I need Hive ODBC for Linux Ubuntu. I am not good at compiling and generating the required libraries. If any one has done this before please share it.
Thanks for your help.
I'm not clear on your problem. Where do the error messages that you include come from? Are you using the JDBC driver or the ODBC driver?
Assuming that you're using HDP, the Linux ODBC drivers are available here:
http://hortonworks.com/download/download-archives/

Resources