Toad World® Forums

Error running a query thats need ODBC


Could you please help me with the issue I am having running a query in oracle. I am using 2 different oracle connections; when i run the query in TDP 5.2 32 bit, I get this error, "Invalid data source definition: The driver doesn't support the version of ODBC behavior that the application requested (see SQLSetEnvAttr).;Invalid connection string attribute"
I added in oracle connection>Advanced>Microsoft ODBC forOracle.

I tried to run the query by first creating connections using ODBC generic but when I run it, I get the following error," Invalid data source definition: The driver doesn't support the version of ODBC behavior that the application requested (see SQLSetEnvAttr).;Invalid connection string attribute"

Welcome back to the ToadWorld Forums!

Is there a good reason why you're using ODBC to connect to Oracle? If the DB admin has given you a user login and password, you should be able to use TDP's Oracle-specific connector. Depending on whether or not you have the Oracle Client installed, you can either Oracle client credentials, or Direct connection credentials... you'll be asked for the server (or database instance name) and your user name and password... these should be coming from your DBA. Using the Oracle Client or the Direct methods are highly recommended, as there can be huge advantages when it comes to data retrieval times and access to certain other types of objects on the database.

If ODBC has to be used, I would verify with your data source admin that your ODBC definition and settings are correct... and then test with at least one other application to make sure that the ODBC driver is making a successful connection to Oracle.

While there is an Advanced tab in the Oracle Connector pane in which you can specify a specific ODBC driver, I would keep this setting as <default>, since TDP already provides a default ODBC driver. Note that this driver is only used when you're trying to blend Oracle tables in your queries with other data source flavors (e.g. a "cross-connection" query).

Hope this helps.

Hi Gary
Thanks for your quick replied. Perhaps I was not clear when I reported the problem. I have 2 direct oracle connections; one to QA and another one to prod. When I add one table from QA and another from Prod, run the query, there is an error about the ODBC driver require for the connections. Then it is when I went into Advance, etc.
As alternative option, I created ODBC connections but did not work either.

Please advise what I am missing that I cannot run the query as explained above.

Thanks in advance for your time and support


Yup, clearer, thanks. Even though your tables are all coming from Oracle, the fact that some are coming from a different database means that TDP will treat the query as a cross-connection type, and for those types of queries, TDP uses an ODBC driver to access the data (to help with blending from different sources). If you're using the Professional Edition of TDP, then the default ODBC driver that TDP provides should have worked. (Base edition of TDP does not allow for cross-connect queries.)

If you're sure that the ODBC driver specified in the Advanced tab of the Oracle connector panel works (e.g. other applications are using it successfully) then I would take this one to Quest Support please.

1 Like

The error message seems to indicate that your ODBC driver is good enough to connect but it is not up to date with the Oracle database. Some functions will not work in older versions of ODBC drivers. Check with your DBA on what version of the driver is needed and see if that is the one you have on your PC. You may need an updated ODBC driver.