Tableau Other Databases (JDBC) Connection to SAS datasets - jdbc

I am trying to get an Other Databases (JDBC) connection from Tableau to SAS using SAS' integrated object model (sasiom jdbc) but running into this error:
Error:
Bad Connection: Tableau could not connect to the data source.
Trying to connect an http1.x server
Generic JDBC connection error
Trying to connect an http1.x server
Configuration Details
I believe my configuration is somewhat correct so far but I think that Tableau is not identifying the correct driver class to use when making a JDBC connection to SAS.
At a high level here is what a JDBC connection to SAS looks like:
JDBC Connection String: jdbc:sasiom://companyserver.company.com:port
Driver class name: com.sas.rio.MVADriver
Driver jar files location for Tableau to access: C:\Program Files\Tableau\Drivers
In this extract below from the Tableau Desktop logs it looks like 'dialect' and 'class' being used are genericjdbc which I think I want the class to be com.sas.rio.MVADriver to use the classname for sasiom but I'm not certain
{"attributes":{":protocol-customizations":"","class":"genericjdbc","dbname":"","dialect":"genericjdbc","jdbcproperties":"","jdbcurl":"jdbc:sasiom://companyserver.company.com:8591","password":"***","schema":"","username":"username","warehouse":""},"closed-protocols-count":"0","connection-limit":"16","group-id":"3","in-construction-count":"0","protocols-count":"0","this":"0x0000018511611140"}}
Properties file attempted without success
I've tried to add a properties file to force the class to be com.sas.rio.MVADriver in the hopes that I get a connection successful or at least a different error if anything else needs to change but no luck with a properties file.
Please provide some help or direction if anyone has successfully created a custom JDBC connection in Tableau and how you got it working? What configuration steps am I missing?
Is there a way to verify that Tableau is using the correct driver class for the jdbc connection? I have not seen the correct class of com.sas.rio.MVADriver referenced at all in the Tableau logs

The answer to this question is a Type 4.0 JDBC Driver is needed to automatically register the driver class name with the JDBC driver manager. The public SAS .jar files contain a Type 2.0 JDBC Driver which requires a manual JDBC driver class specification, which Tableau does not allow to my knowledge. It appears this is not possible currently.

Related

JDBC Connection between Tableau and Apache Druid

I have been trying to connect to Druid from Tableau using a JDBC Driver.
I have successfully connected using an ODBC Driver as per my answer to this post Connecting Tableau to Apache Druid
However, I want to be able to use a JDBC driver as well.
Though I have followed the steps in this post: https://support.imply.io/hc/en-us/articles/360025589574-Connecting-Tableau-to-Druid-with-JDBC,
I keep getting the error: "No suitable Driver installed or the URL is incorrect".
As per the article, I have ensured that the avatica driver is downloaded and installed in ~/Library/Tableau/Drivers, as I am on a mac.
I am also sure I am giving the right URL to my broker which I am otherwise able to access on a browser at port 8082.
Any pointers what might be wrong?
the issue may be that you don't have the avatica driver in your classpath. please see https://calcite.apache.org/docs/adapter.html
I found from this article: https://kb.tableau.com/articles/issue/locating-library-jdbc-directory-in-mac-to-install-the-athena-drivers-for-tableau-prep
that Tableau actually looks for the JDBC driver in the ~/Library/JDBC folder on mac (and it does not seem to read from ~/Library/Tableau/Drivers folder as mentioned in the original article in my question). Once I placed the avatica driver in this folder, Tableau desktop was able to find the driver.

Export Database connection to Oracle Developer

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.

Configuring TNS Datasources in ColdFusion 8

I'm researching how to set up a Coldfusion 8 (CF) data source that uses Oracle TNS under CentOS. I checked out this Stackoverflow article. But, I'm still having some difficulty. I got a copy of our tnsnames.ora file and put it on the server at /coldfusion/install/folder/TNSNamesFolder/TNSNames.ora. I downloaded the latest Oracle JDBC drivers for 11g, put them in a folder in the class path and restarted CF. I verified that the new JAR files were picked up by viewing the settings summary. The JDBC URL I'm using is:
jdbc:oracle:thin:TNSNamesFile=/coldfusion/install/folder/TNSNamesFolder/TNSNames.ora/TNSNames.ora; TNSServerName=%TNSEntry%
But, I'm getting the following error: The Network Adapter could not establish the connection. Another issue that occurred to me is that if there's another JDBC driver for Oracle in the class path, how do I know what JAR it's in? How do I make sure that these new JDBC drivers are the only ones in use for Oracle?
JDBC URL : jdbc:macromedia:oracle:TNSNamesFile=C:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN\tnsnames.ora;TNSServerName=db9d1.db
Driver Class : oracle.jdbc.OracleDriver

using native jdbc driver on as400

I usually use AS400JDBCDriver to connect to AS400 and work with the DB and this works fine both inside and outside AS400.
Now I've developed a class that will run on AS400 and access the DB, but the customer doesn't want to provide credential to access the DB, assuming that the access from inside AS400 should not need a user and password because the user is already logged.
Some time ago I used com.ibm.db2.jdbc.app.DB2Driver instead of com.ibm.as400.access.AS400JDBCDriver to access the AS400 DB from local classes.
My first problem is that I cannot find the class com.ibm.db2.jdbc.app.DB2Driver inside jt400.jar from sourceforge.
The second problem is that, assuming I could find the class com.ibm.db2.jdbc.app.DB2Driver, does this class allow an access without credetials ?
Any hint would be appreciated
Flavio
com.ibm.db2.jdbc.app.DB2Driver is supplied with the Developer Kit for Java and is located in the $JDK_HOME/lib/tools.jar library.
JDK_HOME is in /QIBM/ProdData/Java400/jdkversion for V5R4 and earlier and /QOpenSys/ProdData/JavaVM/jdkversion/architecture for V6R1 and above.
Class Names for IBM i Native and IBM DB2 Connect JDBC Drivers
The credentials are not necessary if you are using a native driver (jt400Native.jar, tools.jar).
If you run on the AS/400 itself using the jt400/jtopen driver you can connect to "localhost" as user *CURRENT with password *CURRENT and not have to provide actual credentials.
This works both for JDBC connections and AS400 objects (which is used by the JDBC driver).

Is it possible to make a JDBC connection through SSIS?

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.

Resources