2016-11-21 2 views
0

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

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?

ответ

1

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

1

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

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

1

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

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

Это еще один разъем - он подключает таблицу PowerQuery.

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

Для правильного подключения к базе данных вы должны (в Excel) перейти к Data/New Query/Из базы данных/из базы данных PostgreSQL. Там вы установите соединение с БД.

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

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

для подключения. Вы можете найти описание для этой функции here.

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

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

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

0

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

гуманного был: - наконечник Установка обновлений Office вместе с окнами обновляет (Пуск-> sttings-> Обновление & Security) - запустите обновление После этого получить & Transform загружать данные из БД без каких-либо проблем

Смежные вопросы