Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Запрос к листу / 15 сообщений из 15, страница 1 из 1
19.03.2016, 11:28
    #39195950
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос к листу
Здравствуйте!

Запускаю запрос, чтобы выгрузить данные из excel листа.
Код: sql
1.
2.
3.
4.
Select 
* FROM OPENROWSET ('Microsoft.ACE.OLEDB.12.0', 
	'Excel 12;DataBase=\\C:\Users\User\Desktop\Test.xlsm',
	'SELECT * FROM [Группа клиентов$]')


Выводит такое сообщение

"Поставщик OLE DB "Microsoft.ACE.OLEDB.12.0" для связанного сервера "(null)" вернул сообщение "Could not find installable ISAM.".
Сообщение 7303, уровень 16, состояние 1, строка 1
Не удалось проинициализировать объект источника данных поставщика OLE DB "Microsoft.ACE.OLEDB.12.0" для связанного сервера "(null)"."

Как правильно написать запрос, чтобы выгрузил данные?
...
Рейтинг: 0 / 0
19.03.2016, 11:45
    #39195954
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос к листу
ferzmikk
Код: sql
1.
\\C:\

Это что еще за путь?
...
Рейтинг: 0 / 0
19.03.2016, 12:49
    #39195975
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос к листу
Shocker.Proferzmikk
Код: sql
1.
\\C:\

Это что еще за путь?

Код: sql
1.
2.
3.
4.
Select 
* FROM OPENROWSET ('Microsoft.ACE.OLEDB.12.0', 
	'Excel 12;DataBase=C:\Users\User\Desktop\Test.xlsm',
	'SELECT * FROM [Группа клиентов$]')


Такая же ошибка
...
Рейтинг: 0 / 0
19.03.2016, 12:55
    #39195981
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос к листу
это смотрели?
...
Рейтинг: 0 / 0
19.03.2016, 14:21
    #39196010
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос к листу
Клиентское приложение - Excel. Есть две таблицы. Одна таблица выгружается с помощью MDX-запроса, а другая из excel листа. Потом соединяются таблицы и выводиться на другой лист. Важно чтобы выгружались у любого пользователя.
...
Рейтинг: 0 / 0
19.03.2016, 14:50
    #39196020
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос к листу
ferzmikkКлиентское приложение - Excel.что это означает? В нем исполняется код? Где код? Где исполняется запрос - какой сервер БД?ferzmikkЕсть две таблицыГде есть? В БД, на клиенте в текущем файле Эксель, в отдельном файле Эксель?ferzmikkПотом соединяются таблицыПотом - после чего? После того, как есть таблицы? Каким способом соединяются и кем?ferzmikkвыводиться на другой листчто выводится на другой лист, другой лист чего? Кто выводит? ferzmikkВажно чтобы выгружались у любого пользователя.Что такое "выгружались"? Кто выгружает? Клиентский код, сервер, куда выгружает? У пользователя чего? Клиентского приложения, сервера БД, Windows, или имеется ввиду, на любом компьютере?


Встречные вопросы задавать обычно быстро надоедает - в ваших интересах проблему описать подробно, а не общими словами и несвязанными фрагментами кода.
...
Рейтинг: 0 / 0
19.03.2016, 16:15
    #39196056
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос к листу
Нужно получить таблицу из куба с дополнительной колонкой. То есть получить основную таблицу из куба и левым соединением соединить таблицу, которая находиться в текущем excel листе. Для решения такой задачи использую Openrowset.

В экселе в подключении в строке запроса прописывается такой SQL-запрос.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
SELECT
    Cast(F1."[Клиенты].[Клиент].[Клиент].[MEMBER_CAPTION]" AS Varchar(100)) AS Клиент,
    F2.ГруппаКлиентов,
    Cast(F1."[Measures].[Отгрузки шт]" AS varchar(100)) as Отгрузки
FROM OPENROWSET ('MSOLAP', '...',
    'SELECT 
    NON EMPTY
        [Клиенты].[Клиент].[Клиент] 
    ON 1,
        [Measures].[Отгрузки шт] ON 0
    FROM
        Profit
    Where
        [Время].[Месяц].&[2015-12-01T00:00:00]') AS F1
LEFT JOIN
OPENROWSET('Microsoft.ACE.OLEDB.12.0', 
	'Excel 12;DataBase=C:\Users\User\Desktop\Test.xlsm',
	'SELECT * FROM [Группа клиентов$]')) AS F2
ON
Cast(F1."[Клиенты].[Клиент].[Клиент].[MEMBER_CAPTION]" AS Varchar(100)) =F2.Клиент


В этом же файле на листе есть таблица с колонками "Клиент" и "Группа клиентов".

Пока запускаю такой для теста
Код: sql
1.
2.
3.
4.
Select 
* FROM OPENROWSET ('Microsoft.ACE.OLEDB.12.0', 	
	'Excel 12;DataBase=C:\Users\User\Desktop\Test.xlsm',
	'SELECT * FROM [Группа клиентов$]')


Не запускается ни с Managment Studio, ни c excel (из подключения).

Выводит такое сообщение

"Поставщик OLE DB "Microsoft.ACE.OLEDB.12.0" для связанного сервера "(null)" вернул сообщение "Could not find installable ISAM."
...
Рейтинг: 0 / 0
19.03.2016, 16:35
    #39196069
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос к листу
C:\Users\User\Desktop\Test.xlsm - это путь на SQL-сервере? Доступ от имени учетки SQL-сервера к указанной папке есть? ACE.OLEDB.12.0 на SQL-сервере есть?
...
Рейтинг: 0 / 0
19.03.2016, 16:51
    #39196077
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос к листу
Shocker.ProC:\Users\User\Desktop\Test.xlsm - это путь на SQL-сервере?
Нет. Это путь данного excel файла на локальном компьютере, на котором работает пользователь. Для примера путь сократил
Доступ от имени учетки SQL-сервера к указанной папке есть?
Папка на локальном компьютере. Да
ACE.OLEDB.12.0 на SQL-сервере есть?
В связанном сервере такой поставщик есть
...
Рейтинг: 0 / 0
19.03.2016, 17:03
    #39196081
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос к листу
Еще раз. Запрос выполняется на сервере? Эксель файл лежит на клиенте? Сервер и клиент - это разные компьютеры?
...
Рейтинг: 0 / 0
19.03.2016, 17:11
    #39196085
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос к листу
Shocker.ProЕще раз. Запрос выполняется на сервере?
Да
Эксель файл лежит на клиенте?
Да
Сервер и клиент - это разные компьютеры?
Да
...
Рейтинг: 0 / 0
19.03.2016, 17:22
    #39196094
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос к листу
Ну так вот и ответ.
...
Рейтинг: 0 / 0
19.03.2016, 17:44
    #39196103
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос к листу
Shocker.Pro,

Теперь никак не выгрузить что ли?
...
Рейтинг: 0 / 0
19.03.2016, 17:48
    #39196107
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос к листу
Либо положить файл на сервер, либо положить данные во временную таблицу на сервере, либо дать доступ с сервера на клиента (кривой путь), либо скачать таблицу из куба во временную таблицу на клиенте и делать объединение на клиенте.
...
Рейтинг: 0 / 0
19.03.2016, 17:53
    #39196109
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос к листу
Shocker.ProЛибо положить файл на сервер, либо положить данные во временную таблицу на сервере, либо дать доступ с сервера на клиента (кривой путь), либо скачать таблицу из куба во временную таблицу на клиенте и делать объединение на клиенте.
Спасибо!
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Запрос к листу / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]