Фон: Я использую Windows 10 и Perl v5.26.1. Я унаследовал некоторый код Perl, который необходимо подключить к базе данных. Ранее это работало с использованием Windows 7 и Perl 5.16.3.
Код использует Win32 :: ODB C для подключения к базе данных. Я получаю следующую ошибку:
Ошибка подключения: [911] [] "[Microsoft] [ODB C Driver Manager] Указанный DSN содержит несоответствие архитектуры между драйвером и приложением"
Я использую 64-битную версию Perl и пытаюсь подключиться к 32-битной базе данных MS Access, но я предполагаю, что Win32 обрабатывает это. Кроме того, такая же настройка работала в настройке Windows 7.
Я могу подключиться к базе данных с помощью администратора источника данных ODB C.
В качестве попытки определить проблема, которую я пытался:
use strict;
use Win32::ODBC;
print "DataSources\n";
my (%dsn, $key) = Win32::ODBC::DataSources();
foreach $key (sort keys %dsn) {
print "$key\n";
}
print "Done\n";
Это привело к
DataSources
Done
Так что я не нахожу никаких источников данных. Запуск одного и того же кода на компьютере Windows 7 создает источники данных.
Запуск Get-OdbcDsn
в Powershell создает список источников данных.
Вопрос: Почему Я не могу увидеть источники данных, используя Perl в v5.26.1, используя Windows 10?