Строка подключения ODBC, Excel 2016 Get & Transform

Я использую Excel 2016 Get & Transform для подключения к базе данных Postgres. Пытаюсь подключить источник данных ODBC и запрашивает строку подключения. Строка подключения, которую я ранее успешно использовал в документах Excel 2013, не работает.

let
    Source = Odbc.DataSource("dsn=PostgreSQL32", [HierarchicalNavigation=true]),
    ops_Database = Source{[Name="ops",Kind="Database"]}[Data],
    public_Schema = ops_Database{[Name="public",Kind="Schema"]}[Data],
    monthly_stats_View = public_Schema{[Name="monthly_stats",Kind="View"]}[Data]
in
    monthly_stats_View

[HierarchicalNavigation] не разрешено, и Excel предлагает использовать SqlCapabilities, а после того, как они также не работают, запрашивает строку подключения. Я попытался использовать строку подключения из старого файла и ввести это:

provider=Microsoft.Mashup.OleDb.1;
data source=$EmbeddedMashup(10245e6d-0d7e-4d2c-a98e-ec01c3a30e6c)$;location=monthly_stats;
extended properties="UEsDBBQAAgAIAJpYcEnkIV3hrAAAPssAAAASABwAQ2

Но это не работает. Я попробовал строку отсюда: https://www.connectionstrings.com/microsoft-ole-db-provider-for-sql-server-sqloledb/ без везения.

Не могли бы вы предоставить мне рабочий пример строки подключения для чтения данных из источника данных ODBC в Excel 2016 Get&Transform?


person Ivan Medvediev    schedule 21.11.2016    source источник


Ответы (4)


Какая у вас версия Excel 2016? Если он не был обновлен, возможно, отсутствует обновление, которое добавило параметр HierarchicalNavigation в Odbc.DataSource.

person Alejandro Lopez-Lago - MSFT    schedule 21.11.2016

Если вы касаетесь строк подключения с Microsoft.Mashup.OleDb.1, вы, вероятно, идете по неправильному пути. Если у вас есть файл книги с подключением к Power Query, будет ли это работать, если вы просто откроете его в Excel 2016? В противном случае убедитесь, что вы не используете параметр верхнего уровня From Odbc, а вместо этого используйте меню Get&Transform для получения данных из Odbc.

[HierarchicalNavigation] поддерживается в Odbc.DataSource уже много месяцев, но в этом году он был добавлен. Вы можете проверить, что ваша версия Excel Get&Transform не ниже версии 2.34.

person Carl Walsh    schedule 22.11.2016

Во-первых, вы не должны редактировать строку подключения, которая отображается в свойствах источника данных (или может быть найдена в данных/подключениях). Как говорит Карл, не трогай ничего подобного

provider=Microsoft.Mashup.OleDb.1.............

Это еще один коннектор — он соединяет вашу таблицу с PowerQuery.

Также вы пытаетесь использовать строку подключения MS SQL Server для подключения к PostgreSQL. Вы должны использовать строку отсюда: https://www.connectionstrings.com/pgoledb/

Чтобы правильно подключиться к вашей базе данных, вы должны (в Excel) перейти в раздел Данные/Новый запрос/Из базы данных/Из базы данных PostgreSQL. Там вы настроите подключение к БД.

Затем используйте

PostgreSQL.Database(server as text,  optional options as nullable record) as table

подключить. Описание этой функции можно найти здесь.

Если вы настаиваете на подключении через ODBC, обратите внимание на help. предоставляет другой синтаксис для ODBC.DataSource:

Odbc.DataSource(connectionString as any, optional options as nullable record) as table

Кроме того, при добавлении нового подключения "From ODBC" вас попросят ввести строку подключения и учетные данные.

person Eugene    schedule 03.12.2016

Проблема решилась так просто... Это ошибка Microsoft, которая была исправлена ​​в обновлениях.

Решение было: - подсказка Установите обновления Office вместе с обновлениями Windows (Пуск-> Настройки-> Обновление и безопасность) - запустите обновление После этого Get & Transform загрузите данные из БД без каких-либо проблем.

person Ivan Medvediev    schedule 07.11.2017