Мы добирающийся сообщение об ошибке РТЫ 01019 при попытке соединиться с базой данных Oracle 9.2 с ODBC в макросе Excel, работающем в Office 2013 32 бита (!!!) в соответствии с Windows 8.1.
У нас есть та же проблема под Windows Server 2012 R2. Мы попробовали несколько моментальных версий клиента Oracle и поставщиков, но все они дает нам РТЫ 01019.
Но все работает прекрасным, как это может под Win 7 и 2k8 R2 с Office 2010 32bit и обоими Office 2013 32bit.
Переменные Enviromental правильно установлены.
Что мы могли сделать?
спасибо Ewert
Понятия не имею о первопричине, я просто предлагаю очень уродливый обходной путь: промежуточная база данных с dblink. Итак, просто пустая корешковая база данных с dblink на старую базу данных.
Установите там очень базовую базу данных (возможно, бесплатную, например, Oracle XE) и CREATE PUBLIC DATABASE LINK my_old_db
. Используйте версию, которая совместима с Win8, без понятия, но, возможно, Oracle 11.2 подойдет. База данных не будет содержать никаких данных, она просто действует как проходной. Oracle 11.2 может мигать в Oracle 9.2.
Соберите каждую полезную таблицу/просмотр/какое-либо имя в схеме, к которой вы ранее подключались, используя SELECT * FROM user_objects;
и для каждого определения: CREATE PUBLIC SYNONYM my_table AS my_table@my_old_db
. Таким образом, если вы подключитесь к проходной базе данных, и вы сможете выполнить свой выбор и увидеть данные старой базы данных.
Если Excel также запрашивает другие схемы, возможно, будет лучше слегка изменить макросы, и где вы имели SELECT a, b, c FROM sue.her_table
вы можете поставить SELECT a, b, c FROM sue.her_table@my_old_db
. Это потому, что определение синонимов в нескольких схемах было бы намного более сложным и предрасположенным к ошибкам.