powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Связь MS SQL и MS OLAP
5 сообщений из 5, страница 1 из 1
Связь MS SQL и MS OLAP
    #32132974
Tikhanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пытаюсь из под SQL запроса обратиться к данным OLAP куба. Вроде все хорошо, только чиловые данные возвращаются в строковом виде и в формате xxx,xxx. Такой формат представления не дает сделать преобразование из строкового типа в числовой (родной формат представления числа в SQL xxx.xxx - точка вместо запятой). Можно ли заставить как-нибудь MSOLAP возвращать числовые данные в нормальном формате
...
Рейтинг: 0 / 0
Связь MS SQL и MS OLAP
    #32134710
Фотография Дед Маздай
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чего-то у меня не получается воспроизвести Вашу ситуацию с запятой:

if exists(select * from master..sysservers where srvname = 'MSOLAP2') exec sp_dropserver 'MSOLAP2', 'droplogins'
exec sp_addlinkedserver @server = 'MSOLAP2', @srvproduct = 'MSOLAP', @provider = 'MSOLAP.2', @datasrc = 'localhost', @catalog = 'FoodMart 2000'
exec sp_addlinkedsrvlogin @rmtsrvname = 'MSOLAP2', @useself = 'true'

--exec sp_tables_ex 'MSOLAP2'

select * from openquery(MSOLAP2, 'select {Measures.[Unit Sales], Measures.[Store Sales], Measures.[Store Cost]} on columns,
Customers.[USA].Children on rows from Sales where Product.Drink')

[Customers].[Country].[MEMBER_CAPTION] [Customers].[State Province].[MEMBER_CAPTION] [Measures].[Unit Sales] [Measures].[Store Sales] [Measures].[Store Cost]
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
USA CA 7102 14203.24 5662.2735999999995
USA OR 6106 12137.289999999999 4836.3541999999989
USA WA 11389 22495.68 8978.6067999999977

(3 row(s) affected)

Как Вы делаете?
...
Рейтинг: 0 / 0
Связь MS SQL и MS OLAP
    #32135680
LNekhimchuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
',' или '.' зависит мне кажется от Regional Settings машины на которой выполняется запрос.
C уважением. Leon
...
Рейтинг: 0 / 0
Связь MS SQL и MS OLAP
    #32140191
Пашка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемый Дед Маздай, этот примерчик мне пришелся очень кстати, дома попробовал - все отлично отработало! Но на работе пишет вот такую гадость, я даже растерялся:

Код: plaintext
1.
Could not create an instance of OLE DB provider 'MSOLAP.2'.
OLE DB error trace [Non-interface error:  CoCreate of DSO for MSOLAP. 2  returned 0x80040154].


Дома стоит SP2, на работе - SP3. Наверняка дело в этом, но как обойти - не могу придумать. Не поможете?
...
Рейтинг: 0 / 0
Связь MS SQL и MS OLAP
    #32141336
Tikhanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Действительно, проблема сосояла в настройках RegionalSettings сервера SQL.
Как я понял путем экспериментов, openquery будет форматировать числовые данные в соотвествиии с установками ReqionalSettings на SQL сервере. Соответственно, если в качестве десятичной точки установить "," то openquery вернет строку вида 'xxx,xxx'. В этом случае попытка выполнить операцию convert(decimal(19, 9), <строка-числовое выражение из openquery>) будет приводить к ошибке
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Связь MS SQL и MS OLAP
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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