ODBC connection through DSN - windows

Specified driver could not be loaded due to system error 127: The specified procedure could not be found. (XODBC64, C:\WINDOWS\System32\xodbc\xodbc64.dll).
Unable to connect using the DSN named "XXXXXX". Check that the DSN exists and is a valid connection.
I am trying to connect to an ODBC through Tableau 9.2, does anyone know if this is possible or is this something I could solve?
I have tested the DSN and it works.

Related

How to find Host from ODBC DSN?

I have a System DSN ( name =appdsn) configured in ODBC DataSources 64 Bit in Windows 10.
This connects to an Oracle database 11g.
I could not locate the responsible tnsnames. ora to this DSN.
Is there any way to locate with the help of DSN name?

Teradata connection string using Windows Authentication

I am using Python3.6 and pyodbc to try and connect to Teradata. I need this for a script I want to hand off to an end user to update from data. I would prefer that each user not have to be instructed to setup their own DSN connection with a specific name I hard encode into the script.
I think I have the driver correct now as well as the server and DB name. What I can't figure out is how to get the connection string to not require a username and password.
Helpful info:
This is for windows OS. When I go to ODBC connections in windows, connection mechanism is listed as LDAP and i can connect through the Teradata program as well.
What does work:
Connection directly through the Teradata program (showing Teradata itself knows who I am)
Using DSN="DSN_name" where DSN_Name is the name under ODBC connections found in windows. Showing I can connect via DSN.
-Looking at ODBC Data Source Admin shows Driver matches what I have. "Server Name or ID" matches "servername" below.
Tried:
connect_string = 'Driver={Teradata Database ODBC Driver
16.20};DBCName=servername;Database=db_name;MechanismName=LDAP;UseIntegratedSecurity=1;'
con = pyodbc.connect(connect_string)
which gives:
pyodbc.Error: ('HY000', '[HY000] [Teradata][ODBC] (11210) Operation not allowed during the transaction state. (11210) (SQLExecDirectW)')
connect_string = 'Driver={Teradata Database ODBC Driver
16.20};DBCName=servername;Database=db_name;MechanismName=LDAP;'
con = pyodbc.connect(connect_string)
or
connect_string = 'Driver={Teradata Database ODBC Driver
16.20};DBCName=servername;Database=db_name;Authentication=LDAP;'
con = pyodbc.connect(connect_string)
which gives:
pyodbc.InterfaceError: ('28000', '[28000] [Teradata][ODBC Teradata Driver] (2) Unable to logon with Authentication Mechanism selected. (2) (SQLDriverConnect)')
I have also tried a few other suggested authentication mechanisms in addition to LDAP, but this is the one listed in Teradata and ODBC connections.
In SQL_Server I use something like trusted_connection=yes to achieve the same effect I desire which doesn't seem to work in the above examples.
error:
pyodbc.OperationalError: ('08001', '[08001] [Teradata][ODBC] (10380) Unable to establish connection
with data source. Missing settings: {[Password] [Username]} (10380) (SQLDriverConnect)')

Oracle odbc connection

I'm trying to connect using different ODBC clients (Advanced query tools and ODBC Query Tool) to my remote Oracle database but every time getting the following error : ORA-12560: TNS:protocol adapter error
my connection settings are:
Driver={Microsoft ODBC for Oracle};dbq=192.168.10.11:1521/TEST_DB;Uid=username;Pwd=password;
Could you please explain what is wrong in my connection settings or am I need to configure something else?
Somewhere in your connection string, the Oracle SID or Service Name needs to be specified. The following are two examples, with one specifying SERVICE_NAME and the other specifying SID:
Driver={Microsoft ODBC for Oracle};Server=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=199.199.199.199)(PORT=1523))(CONNECT_DATA=(SID=dbName)));Uid=myUsername;Pwd=myPassword;
Driver={Microsoft ODBC for Oracle};Server=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=199.199.199.199)(PORT=1523))(CONNECT_DATA=(SERVICE_NAME=dbName)));Uid=myUsername;Pwd=myPassword;
Check your driver documentation to make sure you are including all of the required connection options. I believe the minimum required details are server, port, SID or SERVICE Name, UID, and PWD.
Tony Hall
Driver={Microsoft ODBC for Oracle};
CONNECTSTRING=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=server)(PORT=7001))(CONNECT_DATA=(SERVICE_NAME=myDb)));
Uid=myUsername;Pwd=myPassword;

Odbc connection not working if not defined as DSN entry

I have a problem with installing ODBC driver under Windows (7, 64bit) to connect to Oracle database. They kind of work - I mean I can define a DSN entry and open connection using "DSN=foobar" connection string but I can't use something more generic like passing full connection string to OdbcConnection or basing it on tnsnames.ora file. In both cases I get
"Data source name not found and no default driver specified"
What client software are you using? The answer is probably going to be, use ADO

SSIS: ODBC Connection Issue in BIDS 2008

I have an oracle DB i need to talk to so i installed the drivers and added it to the system DSN Data Sources. IM ON SQL SERVER 2008 R2 64bit
In BIDS, I can see the name of the DataSource, however when i go to enter it in the connection manager I get the following error:
TITLE: Connection Manager
Test connection failed because of an error in initializing provider. ERROR [IM014] [Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application
Any Ideas on how to resolve this?
I can connect to the Oracle DB through SQL Plus so i know i have connectivity.
Thanks!
When you installed the 11g client, I assume you did a custom install and installed the ODBC driver, right? And you set your ODBC DSN up using the Oracle Driver, not the Microsoft Driver? Did you test the DSN with the ODBC wizard?
#kevin
The Test connection failed because of an error in initializing provider. ERROR [IM014] [Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application
this error can be resolved by using a 32 bit driver for oracle connectivity and setting the package runtime properties to set 64 bit runtime= false.
also create a odbc dsn by using the 32 bit oracle driver.on 64 bit machines search for odbc32.exe. the path for it is the following C:\Windows\SysWOW64\odbcad32.exe.
run this as an administrator and use this DSN in your SSIS package and the issue will be resolved.

Resources