Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / На другом сервере не работает запрос / 25 сообщений из 30, страница 1 из 2
25.06.2018, 07:48
    #39665019
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
На другом сервере не работает запрос
Здравствуйте!

Есть SQL-запрос, который работает нормально. Если запустить через другой сервер, то выдает сообщение "32-разрядный поставщик OLE DB "MSOLAP" не может быть загружен как внутрипроцессный на 64-разрядной версии SQL Server." . В Объекты сервера - Поставщики имеется поставщик MSOLAP. А также прилинкованный сервер, в котором находится данные OLAP с типом SSAS.
SQL-запрос
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
USE SM

GO

	SELECT		
		CAST(F1."[Города].[Город].[Город].[MEMBER_CAPTION]" AS NVARCHAR(50))AS [Город],
		CAST(F1."[Measures].[Отгрузки шт]" AS DECIMAL (12,0)) AS [Отгрузки шт]
	FROM OPENROWSET(
		'MSOLAP',
		'Provider=MSOLAP.3;...',
		'SELECT
			[Measures].[Отгрузки шт]
		ON 0,
			[Города].[Город].[Город]
		ON 1
		FROM 
			(SELECT [Время].[Месяц].&[2018-05-01T00:00:00] ON 0 FROM PROFIT)'
				) AS F1

Я правильно понимаю, нужно какие то драйвера установить на этом сервере, чтобы работало? Если да, то какие?
...
Рейтинг: 0 / 0
25.06.2018, 10:25
    #39665118
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
На другом сервере не работает запрос
Первый и второй сервер отличаются и по версии, и по битности. Не меняя регистрацию библиотек на втором сервере, возможно в запросе изменить провайдера? Если да, то как?
Код: sql
1.
2.
3.
4.
5.
6.
...
    OPENROWSET(
	'MSOLAP',
	'Provider=MSOLAP.3;Integrated Security=SSPI;Persist Security Info=True;Initial Catalog=profit;Data Source=xxx.yyy.ru;MDX Compatibility=1;Safety Options=2;MDX Missing Member Mode=Error',
	'SELECT
             ...
...
Рейтинг: 0 / 0
25.06.2018, 13:11
    #39665300
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
На другом сервере не работает запрос
В запросе возможно указать битность в параметрах подключения?
...
Рейтинг: 0 / 0
25.06.2018, 13:27
    #39665311
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
На другом сервере не работает запрос
ferzmikk,

Похоже, что путем openrowset Вы не пройдёте. Потребуется создать слой взаимодействия с удалёнными данными - приложение, SSIS пакет и тому подобное.
...
Рейтинг: 0 / 0
25.06.2018, 13:42
    #39665322
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
На другом сервере не работает запрос
Получается на том сервере надо менять библиотеку. Только вот возникает вопрос, может ли потом негативно влиять на другие процессы?

Ссылка
...
Рейтинг: 0 / 0
27.06.2018, 12:10
    #39666442
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
На другом сервере не работает запрос
Владислав КолосовПохоже, что путем openrowset Вы не пройдётеА OPENQUERY?
...
Рейтинг: 0 / 0
29.06.2018, 07:39
    #39667465
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
На другом сервере не работает запрос
Другой сервер работает на версии SQL Server 2016, то для его SSAS родным является библиотека версии 7.Скорректировал запрос.
Код: sql
1.
2.
3.
4.
5.
6.
...
    OPENROWSET(
	'MSOLAP.7',
	'Provider=MSOLAP.7;Integrated Security=SSPI;Persist Security Info=True;Initial Catalog=profit;Data Source=xxx.yyy.ru;MDX Compatibility=1;Safety Options=2;MDX Missing Member Mode=Error',
	'SELECT
             ...


Ошибка несоответствия битности заменой версии решена, но возникает другая: "Не удалось создать экземпляр поставщика OLE DB "MSOLAP.7" для связанного сервера "(null)"."

Эту проблему как можно решить?
...
Рейтинг: 0 / 0
29.06.2018, 10:06
    #39667501
ShIgor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
На другом сервере не работает запрос
ferzmikk,

попробуйте не использовать версию в строке подключения.
система сама в состоянии определить последнюю установленную на клиенте и согласовать с версией сервера.
если все-таки требуется именно библиотека для 2016, то убедитесь, что она присутствует в системе где установлен SQL-сервер.

причем, чем больше строка подключения соответствует правилам для провайдера MSOLAP, тем меньше проблем
(не помню точно на какой версии но "Data Source" работало, а "Datasource" не работало, хотя и описано в документации)

все остальные проблемы только из-за безопасности. (SQL-сервер работает например под "Локальная система", а подключение к SSAS только через виндовую авторизацию). пробуйте в этих случаях указывать имя пользователя и пароль в строке подключения (хоть и написано что это только для НТТР, все равно помогает).
...
Рейтинг: 0 / 0
29.06.2018, 12:07
    #39667569
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
На другом сервере не работает запрос
ShIgorесли все-таки требуется именно библиотека для 2016, то убедитесь, что она присутствует в системе где установлен SQL-сервер.Через SQL как это узнать?
...
Рейтинг: 0 / 0
29.06.2018, 16:19
    #39667677
ShIgor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
На другом сервере не работает запрос
ferzmikk,

обладая соответствующими правами например так:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
set nocount on
declare @subkeyname nvarchar(max)
declare @k table([subkeyname] nvarchar(max)) 
declare @r table([key] nvarchar(max), [value] nvarchar(max), [data] nvarchar(max))
insert into @k exec master..xp_regenumkeys N'HKEY_CLASSES_ROOT', N'\'
declare c cursor for select subkeyname from @k where subkeyname like N'MSOLAP%' and subkeyname not like N'%ErrorLookup%' and subkeyname not like N'%ConnectDialog%'
open c
fetch next from c into @subkeyname
while @@fetch_status = 0
begin 
  insert into @r([value], [data]) exec master..xp_regenumvalues 'HKEY_CLASSES_ROOT', @subkeyname 
  update @r set [key] = @subkeyname where [key] is null
  fetch next from c into @subkeyname
end
close c
deallocate c
select [key], [data] from @r
...
Рейтинг: 0 / 0
30.06.2018, 04:50
    #39667802
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
На другом сервере не работает запрос
ShIgor,

Спасибо!

Запустив SQL-запрос на первом сервере, то есть SQL Server Express на моем компе - вывел 66 строк. Запустив на другом SQL-сервере, где находится на самом сервере, - 4 строки.
key dataMSOLAP MSOLAP 10.0 OLE DB ProviderMSOLAP.4 MSOLAP 10.0 OLE DB ProviderMSOLAP.7 MSOLAP 13.0 OLE DB ProviderMSOLAP.8 MSOLAP 14.0 OLE DB Provider
Получается надо какие то компоненты установить?
...
Рейтинг: 0 / 0
03.07.2018, 13:09
    #39668759
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
На другом сервере не работает запрос
А если запустить на первом сервере, где работает запрос к OLAP, то выводит такой результат
key dataMSOLAP MSOLAP 13.0 OLE DB ProviderMSOLAP.4 MSOLAP 10.0 OLE DB ProviderMSOLAP.5 MSOLAP 11.0 OLE DB ProviderMSOLAP.7 MSOLAP 13.0 OLE DB ProviderMSOlapAdmin2.MSOLAPAggregation MSOLAPAggregation ClassMSOlapAdmin2.MSOLAPAggregation.1 MSOLAPAggregation ClassMSOlapAdmin2.MSOLAPAggregations MSOLAPAggregations ClassMSOlapAdmin2.MSOLAPAggregations.1 MSOLAPAggregations ClassMSOlapAdmin2.MSOLAPAuxiliarie MSOLAPAuxiliarie ClassMSOlapAdmin2.MSOLAPAuxiliarie.1 MSOLAPAuxiliarie ClassMSOlapAdmin2.MSOLAPAuxiliaries MSOLAPAuxiliaries ClassMSOlapAdmin2.MSOLAPAuxiliaries.1 MSOLAPAuxiliaries ClassMSOlapAdmin2.MSOLAPClient MSOLAPClient ClassMSOlapAdmin2.MSOLAPClient.1 MSOLAPClient ClassMSOlapAdmin2.MSOLAPCubeSecurities MSOLAPCubeSecurities ClassMSOlapAdmin2.MSOLAPCubeSecurities.1 MSOLAPCubeSecurities ClassMSOlapAdmin2.MSOLAPCubeSecurity MSOLAPCubeSecurity ClassMSOlapAdmin2.MSOLAPCubeSecurity.1 MSOLAPCubeSecurity ClassMSOlapAdmin2.MSOLAPDatabase MSOLAPDatabase ClassMSOlapAdmin2.MSOLAPDatabase.1 MSOLAPDatabase ClassMSOlapAdmin2.MSOLAPDatabases MSOLAPDatabases ClassMSOlapAdmin2.MSOLAPDatabases.1 MSOLAPDatabases ClassMSOlapAdmin2.MSOLAPDetail MSOLAPDetail ClassMSOlapAdmin2.MSOLAPDetail.1 MSOLAPDetail ClassMSOlapAdmin2.MSOLAPDetails MSOLAPDetails ClassMSOlapAdmin2.MSOLAPDetails.1 MSOLAPDetails ClassMSOlapAdmin2.MSOLAPDimension MSOLAPDimension ClassMSOlapAdmin2.MSOLAPDimension.1 MSOLAPDimension ClassMSOlapAdmin2.MSOLAPDimensions MSOLAPDimensions ClassMSOlapAdmin2.MSOLAPDimensions.1 MSOLAPDimensions ClassMSOlapAdmin2.MSOLAPExtLevel MSOLAPExtLevel ClassMSOlapAdmin2.MSOLAPExtLevel.1 MSOLAPExtLevel ClassMSOlapAdmin2.MSOLAPExtLevels MSOLAPExtLevels ClassMSOlapAdmin2.MSOLAPExtLevels.1 MSOLAPExtLevels ClassMSOlapAdmin2.MSOLAPExtMeasure MSOLAPExtMeasure ClassMSOlapAdmin2.MSOLAPExtMeasure.1 MSOLAPExtMeasure ClassMSOlapAdmin2.MSOLAPExtMeasures MSOLAPExtMeasures ClassMSOlapAdmin2.MSOLAPExtMeasures.1 MSOLAPExtMeasures ClassMSOlapAdmin2.MSOLAPLastError MSOLAPLastError ClassMSOlapAdmin2.MSOLAPLastError.1 MSOLAPLastError ClassMSOlapAdmin2.MSOLAPLevel MSOLAPLevel ClassMSOlapAdmin2.MSOLAPLevel.1 MSOLAPLevel ClassMSOlapAdmin2.MSOLAPLevels MSOLAPLevels ClassMSOlapAdmin2.MSOLAPLevels.1 MSOLAPLevels ClassMSOlapAdmin2.MSOLAPLockManager MSOLAPLockManager ClassMSOlapAdmin2.MSOLAPLockManager.1 MSOLAPLockManager ClassMSOlapAdmin2.MSOLAPMeasure MSOLAPMeasure ClassMSOlapAdmin2.MSOLAPMeasure.1 MSOLAPMeasure ClassMSOlapAdmin2.MSOLAPMeasures MSOLAPMeasures ClassMSOlapAdmin2.MSOLAPMeasures.1 MSOLAPMeasures ClassMSOlapAdmin2.MSOLAPModel MSOLAPModel ClassMSOlapAdmin2.MSOLAPModel.1 MSOLAPModel ClassMSOlapAdmin2.MSOLAPModels MSOLAPModels ClassMSOlapAdmin2.MSOLAPModels.1 MSOLAPModels ClassMSOlapAdmin2.MSOLAPPartition MSOLAPPartition ClassMSOlapAdmin2.MSOLAPPartition.1 MSOLAPPartition ClassMSOlapAdmin2.MSOLAPPartitions MSOLAPPartitions ClassMSOlapAdmin2.MSOLAPPartitions.1 MSOLAPPartitions ClassMSOlapAdmin2.MSOLAPRole MSOLAPRole ClassMSOlapAdmin2.MSOLAPRole.1 MSOLAPRole ClassMSOlapAdmin2.MSOLAPRoles MSOLAPRoles ClassMSOlapAdmin2.MSOLAPRoles.1 MSOLAPRoles ClassMSOlapAdmin2.MSOLAPSource MSOLAPSource ClassMSOlapAdmin2.MSOLAPSource.1 MSOLAPSource ClassMSOlapAdmin2.MSOLAPSources MSOLAPSources ClassMSOlapAdmin2.MSOLAPSources.1 MSOLAPSources Class
Не знаю какую библиотеку надо ставить на втором сервере. Скажите, какую надо установить? Случайно не MSOlapAdmin2.MSOLAPClient ?
...
Рейтинг: 0 / 0
04.07.2018, 00:38
    #39669174
ShIgor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
На другом сервере не работает запрос
ferzmikk,

не надо ничего ставить. оставь MSOLAP в провайдере без всяких номеров версий. разбирайся с правами.

Код: plaintext
1.
2.
OPENROWSET(
	'MSOLAP',
	'Provider=MSOLAP;Initial Catalog=profit;Data Source=xxx.yyy.ru;M...

оранжевое выкинь вообще
...
Рейтинг: 0 / 0
04.07.2018, 08:42
    #39669225
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
На другом сервере не работает запрос
ShIgorвсе остальные проблемы только из-за безопасности. (SQL-сервер работает например под "Локальная система", а подключение к SSAS только через виндовую авторизацию). пробуйте в этих случаях указывать имя пользователя и пароль в строке подключения (хоть и написано что это только для НТТР, все равно помогает).ShIgorразбирайся с правами.Даже если проблема в доступе, то будет возвращать ошибку "Не удалось создать экземпляр поставщика OLE DB "MSOLAP.7" для связанного сервера "(null)"." ?

Код: sql
1.
2.
3.
4.
5.
6.
...
    OPENROWSET(
	'MSOLAP.7',
	'Provider=MSOLAP.7;Integrated Security=SSPI;Persist Security Info=True;Initial Catalog=profit;Data Source=xxx.yyy.ru;MDX Compatibility=1;Safety Options=2;MDX Missing Member Mode=Error;User ID=...; Password=...;',
	'SELECT
             ...


Код: sql
1.
2.
3.
4.
5.
6.
...
    OPENROWSET(
	'MSOLAP.7',
	'Provider=MSOLAP.7;Integrated Security=TRUE;Persist Security Info=True;Initial Catalog=profit;Data Source=xxx.yyy.ru;MDX Compatibility=1;Safety Options=2;MDX Missing Member Mode=Error;User ID=...;',
	'SELECT
             ...

...
Рейтинг: 0 / 0
04.07.2018, 08:58
    #39669235
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
На другом сервере не работает запрос
Не знаю, поможет это или нет, но на всякий случай скидываю скриншот, где видны списки различных поставщиков в двух серверах
...
Рейтинг: 0 / 0
04.07.2018, 09:55
    #39669271
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
На другом сервере не работает запрос
Извиняюсь, перепутал сервера, наоборот
...
Рейтинг: 0 / 0
04.07.2018, 10:56
    #39669314
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
На другом сервере не работает запрос
ShIgorразбирайся с правами.Есть специальный SQL-запрос, который проверяет права, запущенный через соответствующий сервер? И если сравнивать права у двух серверов, то конкретно с чем сравнивать?
...
Рейтинг: 0 / 0
04.07.2018, 15:22
    #39669543
ShIgor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
На другом сервере не работает запрос
ferzmikk,

1. Как соединяешься с SQL-сервером.
2. Под какой учетной записью работает SQL-сервер.
3. Под какой учетной записью работает SSAS-сервер.
4. Есть-ли у учетной записи SQL-сервера на доступ к SSAS.
5. Не ограничены-ли права в OLAP БД.
...
Рейтинг: 0 / 0
30.07.2018, 12:14
    #39680973
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
На другом сервере не работает запрос
В общем через терминал сервера в консоле MS SQL Management Studio запрос выполняется. Но если подключиться через консоль с локального рабочего места на тот же SQL то запрос перестает работать. Выдает сообщение "Не удалось проинициализировать объект источника данных поставщика OLE DB "MSOLAP" для связанного сервера "(null)".
...
Рейтинг: 0 / 0
30.07.2018, 14:23
    #39681083
ShIgor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
На другом сервере не работает запрос
ferzmikk,

вопросы выше, пока на них не будет ответа я тоже ничего не могу предложить.
и номера версий SQL и SSMS напомните, везде на серверах и клиентах
...
Рейтинг: 0 / 0
31.07.2018, 12:13
    #39681505
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
На другом сервере не работает запрос
ShIgor1. Как соединяешься с SQL-сервером.Есть два сервера. Первый и второй сервер. Через первый сервер - запрос работает. Через второй сервер - не работает.

Через терминал второго сервера в консоли MS SQL Management Studio запрос выполняется. Но если подключиться через консоль с локального рабочего места на тот же SQL то запрос перестает работать.
2. Под какой учетной записью работает SQL-сервер.Доменная учетка MSSQLUser на этих двух серверах.
3. Под какой учетной записью работает SSAS-сервер.NT Service\MSSQLServerOLAPService - служебная учетка, не доменная
ShIgorи номера версий SQL и SSMS напомните, везде на серверахНа первом сервере, где работает запрос - 2012. На втором сервере, где не работает запрос - 2016.
и клиентахMS SQL Managment Studio 2012.
...
Рейтинг: 0 / 0
31.07.2018, 12:30
    #39681516
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
На другом сервере не работает запрос
ferzmikk,

выполните этот запрос на обоих серверах с вашего рабочего места

Код: sql
1.
select net_transport,auth_scheme,endpoint_id,encrypt_option from sys.dm_exec_connections where session_id=@@spid 
...
Рейтинг: 0 / 0
31.07.2018, 12:40
    #39681521
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
На другом сервере не работает запрос
komrad,

на первом сервере
net_transport auth_scheme endpoint_id encrypt_optionTCP SQL 4 FALSE

На втором сервере
net_transport auth_scheme endpoint_id encrypt_optionTCP KERBEROS 4 FALSE
...
Рейтинг: 0 / 0
31.07.2018, 12:48
    #39681524
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
На другом сервере не работает запрос
ferzmikkkomrad,

на первом сервере
net_transport auth_scheme endpoint_id encrypt_optionTCP SQL 4 FALSE

На втором сервере
net_transport auth_scheme endpoint_id encrypt_optionTCP KERBEROS 4 FALSE

ну, если вы не перепутали сервера, то налицо разница в SPN-x
...
Рейтинг: 0 / 0
31.07.2018, 12:58
    #39681533
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
На другом сервере не работает запрос
komradferzmikkkomrad,

на первом сервере
net_transport auth_scheme endpoint_id encrypt_optionTCP SQL 4 FALSE

На втором сервере
net_transport auth_scheme endpoint_id encrypt_optionTCP KERBEROS 4 FALSE

ну, если вы не перепутали сервера, то налицо разница в SPN-x

а вы к первому сиквелу коннектитесь под сиквельной учеткой , но ко второму под виндовой, так получается?
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / На другом сервере не работает запрос / 25 сообщений из 30, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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