У меня возникают некоторые проблемы при попытке запустить очень простой сценарий VBA в Excel VBA с использованием ADO для подключения к файлу базы данных Access (.accdb), расположенному на сайте моей компании Azure Data Lake Store (ADLS). Мы используем Excel 2016 и Access 2016.
У меня нет проблем с извлечением данных в Excel из этого файла базы данных Access, расположенного в ADLS, через Power Query, перейдя на Data -> Get Data -> From Azure -> From Azure Data Lake Store
и подключившись напрямую к файлу из Excel. Таким образом, кажется, что это не проблема безопасности или доступа к учетной записи.
Вот код VBA, который я пытался настроить для успешного подключения из Excel к файлу базы данных Access, расположенному в ADLS:
Set cn = CreateObject("ADODB.Connection")
StrProvider = "Provider=Microsoft.ACE.OLEDB.12.0;Password=my_ADLS_password;User ID=my_ADLS_account;"
StrSource = "Data Source=my_access_DB_file_path_on_ADLS;"
cn.Open StrProvider & StrSource
В целях безопасности я не могу предоставить информацию о своей учетной записи ADLS в приведенном выше коде.
Мне действительно нужна помощь в определении соответствующего синтаксиса кода VBA ADO, чтобы это соединение работало. Я потратил много времени на изучение этой конкретной проблемы в Интернете, но не повезло.
Я НЕ хочу просто автоматизировать создание Power Query с использованием VBA для извлечения данных в Excel из источника. Я знаю, что это вариант, но он не соответствует моим потребностям. Я хочу использовать ADO для установления этого соединения на лету и, надеюсь, иметь потенциал для чтения / записи данных из / в базу данных с использованием SQL. Другими словами, я планирую не только запускать операторы SELECT SQL на источнике данных, но и операторы INSERT, UPDATE и DELETE.
Любая помощь будет принята с благодарностью. Спасибо!