Я пытаюсь создать инструмент, который извлекает информацию из базы данных, содержащей финансовую информацию, но я столкнулся с этой проблемой. Следующий запрос предоставит мне некоторые требуемые данные, но как только я добавлю в подзапрос, я получаю сообщение об ошибкеПодзапрос, не работающий со связанными с доступом таблицами
«ODBC - вызов не выполнен».
Если я заменил подзапрос статическим "WHERE TRAN_NUMBER IN (0,1,2,3..)"
, он возвращает ожидаемые значения. Подзапрос возвращает ожидаемые значения при запуске самостоятельно.
Я использую MS Access и C# и библиотеки OleDB сделать это
Любые идеи, что я сделал неправильно?
SELECT NOMINAL_CODE, DETAILS, AMOUNT, TYPE
FROM AUDIT_JOURNAL
WHERE TRAN_NUMBER IN
(SELECT AUDIT_TRAIL_ID
FROM PROJECT_TRAN
WHERE AUDIT_TRAIL_ID > 0);
Первый шанс исключение типа 'System.Data.OleDb.OleDbException' произошло в System.Data.dll
Дополнительная информация: ODBC - сбой вызова
Изменить: похоже, что подзапросы не работают при подключении к другой базе данных через ODBC (исходная база данных - это база данных SageLine50). Я импортировал таблицы статически и, похоже, работает. Кто-нибудь знает, как я могу сделать эту работу без статического импорта таблиц?
Выполняет ли весь запрос при запуске непосредственно против db? – Dan
Вы пытались запустить подзапрос самостоятельно? – Steve
Yup, подзапрос работает правильно сам по себе, когда он добавлен вместе, он не работает. Может ли это быть связано с тем, что база данных связана с ODBC-соединением? – user3295060