powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / На другом сервере не работает запрос
30 сообщений из 30, показаны все 2 страниц
На другом сервере не работает запрос
    #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
На другом сервере не работает запрос
    #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
На другом сервере не работает запрос
    #39665300
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В запросе возможно указать битность в параметрах подключения?
...
Рейтинг: 0 / 0
На другом сервере не работает запрос
    #39665311
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ferzmikk,

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

Ссылка
...
Рейтинг: 0 / 0
На другом сервере не работает запрос
    #39666442
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав КолосовПохоже, что путем openrowset Вы не пройдётеА OPENQUERY?
...
Рейтинг: 0 / 0
На другом сервере не работает запрос
    #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
На другом сервере не работает запрос
    #39667501
ShIgor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ferzmikk,

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

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

все остальные проблемы только из-за безопасности. (SQL-сервер работает например под "Локальная система", а подключение к SSAS только через виндовую авторизацию). пробуйте в этих случаях указывать имя пользователя и пароль в строке подключения (хоть и написано что это только для НТТР, все равно помогает).
...
Рейтинг: 0 / 0
На другом сервере не работает запрос
    #39667569
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShIgorесли все-таки требуется именно библиотека для 2016, то убедитесь, что она присутствует в системе где установлен SQL-сервер.Через SQL как это узнать?
...
Рейтинг: 0 / 0
На другом сервере не работает запрос
    #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
На другом сервере не работает запрос
    #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
На другом сервере не работает запрос
    #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
На другом сервере не работает запрос
    #39669174
ShIgor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ferzmikk,

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

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

оранжевое выкинь вообще
...
Рейтинг: 0 / 0
На другом сервере не работает запрос
    #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
На другом сервере не работает запрос
    #39669235
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не знаю, поможет это или нет, но на всякий случай скидываю скриншот, где видны списки различных поставщиков в двух серверах
...
Рейтинг: 0 / 0
На другом сервере не работает запрос
    #39669271
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извиняюсь, перепутал сервера, наоборот
...
Рейтинг: 0 / 0
На другом сервере не работает запрос
    #39669314
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShIgorразбирайся с правами.Есть специальный SQL-запрос, который проверяет права, запущенный через соответствующий сервер? И если сравнивать права у двух серверов, то конкретно с чем сравнивать?
...
Рейтинг: 0 / 0
На другом сервере не работает запрос
    #39669543
ShIgor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ferzmikk,

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

вопросы выше, пока на них не будет ответа я тоже ничего не могу предложить.
и номера версий SQL и SSMS напомните, везде на серверах и клиентах
...
Рейтинг: 0 / 0
На другом сервере не работает запрос
    #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
На другом сервере не работает запрос
    #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
На другом сервере не работает запрос
    #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
На другом сервере не работает запрос
    #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
На другом сервере не работает запрос
    #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
На другом сервере не работает запрос
    #39681539
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да
...
Рейтинг: 0 / 0
На другом сервере не работает запрос
    #39681541
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ferzmikkДа
если линкед-серверы сконфигурированы одинаково, то попробуйте подключаться ко второму серверу так же сиквельной учеткой

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

я ж сказал права смотри.

скули под доменной учеткой, ссас под локальной, в админы ссас-а включен доменный пользователь под которым работает скуль (вопрос №4)?
почему ссас не запустить под доменной учеткой?

в общем каша.. приводи в порядок - будет работать везде. так как сейчас, будет работать только на одном сервере.
...
Рейтинг: 0 / 0
На другом сервере не работает запрос
    #39681628
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем тут получается цепочка серверов, то на каждой стадии должна быть возможность авторизировать того пользователя, который отправил запрос. Возникает вопрос как это правильно настроить.
...
Рейтинг: 0 / 0
На другом сервере не работает запрос
    #39681669
ShIgor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ferzmikk,

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


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