Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

We getting error message ORA-01019 when trying to connect to an Oracle 9.2 database with ODBC in an Excel macro running in Office 2013 32bit (!!!) under Windows 8.1.

We are having the same issue under Windows Server 2012 R2. We have tried several Oracle instant client versions and providers, but all of them gives us ORA-01019.

But everything is working as fine as it can under Win 7 and 2k8 R2 with Office 2010 32bit and both Office 2013 32bit.

Enviromental variables are properly set.

What could we do?

thanks Ewert

share|improve this question

1 Answer 1

No idea about the root cause, I'm just proposing a very ugly workaround: intermediary database with dblink. So, just an empty stub database with a dblink to the old database.

Install some very basic database (perhaps free, like Oracle XE) and CREATE PUBLIC DATABASE LINK my_old_db there. Use the version that is compatible with your Win8, no idea, but perhaps Oracle 11.2 would do. The database would not hold any data, it just acts as a passthrough. Oracle 11.2 can dblink to Oracle 9.2.

Gather every useful table/view/whatnot name in the schema that you previously connected to using SELECT * FROM user_objects; and for each define: CREATE PUBLIC SYNONYM my_table AS my_table@my_old_db. This way if you connect to the passthrough database, and you can perform your selects and see the data of the old database.

If Excel is also querying other schemas, it might be best to slightly change the macros and where you have had SELECT a, b, c FROM sue.her_table you could put SELECT a, b, c FROM sue.her_table@my_old_db . This is because defining synonyms in multiple schemas would be much more complicated and error-prone.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.