SAS Share, ORACLE library

Всем привет!

В этой статье я поделюсь решением одной из проблем, когда требуется подключить библиотеку из Oracle к SAS Share Server.


В прошлой статье я описал подключение библиотек SAS к Share серверу.

Полагая, что аналогичным образом можно подключить и все другие библиотеки, я попробовал подключить и библиотеку Oracle:

Действуя по тем же шагам, что и делал ранее была создана библиотека Oracle:

Далее:

Далее:

В Advanced Options делаем по аналогии с Base:
 

 Далее создаём новый сервер Oracle:

Далее:

Далее указываем PATH (SID), User Password:


Завершаем установку.

Добавляем эту библиотеку по аналогии с прошлым постом в SAS Share.

Далее перезагружаем SAS Share Server и регистрируем таблички в библиотеке.

На этом этапе появляются варианты: либо проблем нету и всё работает, либо в логах появляются ошибки, о которых пишет SAS MC.

В моём случае появилась не совсем ожидаемая ошибка.
ERROR: Libname oralib is not assigned.
ERROR: Error in the LIBNAME statement

В логах ShareServer видно следующее:
ORACLE connection error: ORA-01017: invalid username/password; logon denied

Озадачило меня то, что эта библиотека прекрасно подключается с аналогичными параметрами к Oracle, если не через SAS Share Server.

Долго проковырявшись в настройках, мне пришла идея добавить в закладку
Properties => Options => Advanced Options => Other Options
следующие параметры: user = «user» password = «password» path =»path»
Где вместо userpasswordpath выставляются соответствующие значения для подключения к необходимой библиотеке Oracle.

После чего всё заработало.

Крепких вам нервов и удачи в работе с SAS SHARE!

p.s.
При написании статьи я подразумевал, что клиент Oracle с указанными tnsnames установлен в системе. Более того, разрядность (x32x64) этого клиента должна соответствовать разрядности SAS.

Работа с SAS Share, Remote Libraries

Всем привет!
В последнее время я занят настройкой и правильной работой SAS Digital Marketing. По этой причине, у меня сегодня не так много интересных задач, которыми я мог бы поделиться.
В этой статье хочу обратить внимание на следующие вещи: методы связи в SAS, особенность работы с SAS SHARE, создание remote библиотек для работы с SAS SHARE.


SAS использует методы доступа связи, которые представляют собой интерфейс между SAS и сетевым протоколом, который в свою очередь используется для соединения двух операционных сред. Для этой цели в SAS используются 2 метода: SAS SHARE и SAS CONNECT.

 

SAS SHARE сервер данных, который позволяет нескольким пользователям получать одновременный доступ к SAS файлов без необходимости использовать отдельные SAS CONNECT удаленные входы для каждого пользователя. SAS SHARE позволяет не только консолидировать несколько раздельных библиотек данных, но управлять и координировать запросы на данных по сети в реальном времени.

SAS CONNECTнабор инструментов SAS как для клиента, так и для сервера. Он устанавливает связи между компьютерами в сети с различными операционными системами. SAS CONNECT позволяет пользователям и разработчикам возможность доступа, управления и обработки данных, используя различные сетевые архитектуры, а также различные версии SAS.

Эти методы используют следующие интерфейсы:
TCP/IP — программный интерфейс (program-to-program), который поддерживается на аппаратном уровне от разных производителей
XMSэто интерфейс, который является частью операционной среды z/OS и используется программами, которые работают в этой среде.
 
Более подробная информация по работе этих методов доступна на официальном сайте http://support.sas.com 

В данной статье речь будет идти о работе с SAS SHARE.
В первую очередь в вашей лицензии должен быть SAS SHARE. Для того чтобы убедиться, что лицензия у вас есть, перечитайте одну из статей выложенных на нашем сайте ранее.

Мой опыт работы с системой SAS на данный момент был только в среде Windows. По этому, некоторые моменты по работе с Unix будут отличаться.

После успешной установки SAS Depot в Windows службах (services) появляются ряд служб, отвечающий за SAS. Среди них должен быть и SAS SHARE Server — сервер, который и отвечает за необходимый нам метод сетевого соединения:
 
Нас интересует последний:

Как видите, по умолчанию для этого сервера присваивается 8551 порт. Его можно изменить при установке SAS, но я не рекомендую этого делать. Может что-нибудь сломаться.

Так же этот сервер доступен из SAS Management Console:
Для того, чтобы окончательно убедиться, что сервер работает и порт открыт можно использовать в командной строке (предварительно требуется установить TELNET client): telnet localhost 8551. Чёрный экран командной строки будет означать, что всё работает.
Мы подошли к моменту, когда мы можем создать библиотеки для работы с SAS SHARE.
Создаём новую библиотеку в SAS Management Console, где выбираем SAS/SHARE REMOTE Engine Library:
 
 Переходим далее, указываем имя и место хранения в SAS MC. Переходим далее, где указываем SAS Application server, который будет работать с этой библиотекой. Доступно на выбор 3: Share Server, SAS Meta, SAS App. Выбираем SAS App:
Далее указываем libref (учитывая требования к названиям библиотек в SAS).
В следующем окне необходимо указать SAS/SHARE Server Library. 
Создаём новую, где указываем тип библиотеки.  На этом этапе всё зависит от того, с какой БД будет осуществляться работа. На данном этапе уже нельзя выбрать SAS/SHARE REMOTE Engine Library.
Рассмотрим сначала простейший случай и выберем SAS Base Library:
 
Далее указываем название, которое будет отображаться в SAS MC, далее выбираем сервер. Тут надо указать Share Server:
 
Далее указываем libref и переходим в Advanced Options:
 
Где требуется поставить галочку Library is Pre-Assigned и выбрать By Native library engine. Это особенность работы SAS SHARE с библиотеками SAS Base. Если так не указать, то при дальнейшей регистрации табличек в библиотеках будет возникать ошибка.
 
Далее завершаем создание обеих библиотек. Таким образом в SAS MC появляется 2 библиотеки:
 
Далее требуется ПЕРЕЗАПУСТИТЬ СЛУЖБУ SAS SHARE. Заходим в Windows -> Services. Находим необходимую службу и перезапускаем её.
Возвращаемся в SAS MC. 
Правой кнопкой по библиотеке типа REMOTE -> Register Tables -> Next -> выбираем необходимую таблицу.
Теперь вы сможете найти данную библиотеку, если подсоединитесь к серверу SAS SHARE. 
Как это сделать? Это уже тема другой статьи.
На этом всё.