Excel VBA - проблема подключения ADO к хранилищу озера данных Azure - PullRequest
0 голосов
/ 03 мая 2018

У меня возникают некоторые проблемы при попытке запустить очень простой сценарий 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.

Любая помощь будет принята с благодарностью. Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...