Выполнить SQL-запрос, используя другую учетную запись NT безопасности

1

Я пытаюсь настроить канал данных из базы данных SQL (PeopleSoft) в файл CSV для загрузки в SAP PCM. Мне нужно, чтобы этот процесс запускался на основе adhock, поэтому ему нужно вытащить данные, а не планировать их или нажимать через приложение, такое как SSIS или Control M.

В принципе, SAP PCM имеет возможность разрешать настраиваемое кодирование (VBSCRIPT), которое позволит нам выложить оболочку, если потребуется, для запуска любого типа стороннего скрипта, необходимого для извлечения SQL QUERY, который может быть связан с кнопкой в самом приложении, поэтому конец пользователь может просто тригером по мере необходимости.

Я попытался запустить SQL непосредственно из SAP PCM, используя учетную запись пользователя, которая имеет привилегии для доступа к базе данных PeopleSoft с использованием единого входа. Как и следовало ожидать, это работает и выводятся требуемые данные.

Проблема в том, что я не хочу предоставлять конечным пользователям одинаковый уровень доступа... поэтому я создал учетную запись службы NT, которая имеет правильный уровень доступа к базе данных. - По какой-то причине мы не используем аутентификацию SQL, поэтому не можем просто иметь учетную запись sql.

Проблема, с которой я столкнулся, заключается в том, чтобы заставить SQL-скрипт работать как учетная запись службы... Я посмотрел в RUN AS.. но это заставит пользователя ввести пароль учетной записи службы, который побеждает точку. Кроме того, альтернативы не поддерживаются после XP - мы используем W7.

Я посмотрел на службы Windows, которые могут содержать ответ, но никогда не создавали его, прежде чем я начну с нуля, и я не уверен, что это лучший способ продвижения вперед.

Поэтому возникает вопрос: можно ли выполнить запрос SQL, используя учетную запись службы, которая не запрашивает у пользователя пароль? - Я полагаю, что я мог бы создать пароль в exe, чтобы он не сохранял чистый текст, если это необходимо.

Есть ли у кого-нибудь пример VBSCRIPT (или другой), который позволил бы мне это сделать?

благодаря

  • 0
    Не могли бы вы кодировать pw, чтобы он автоматически вводился, когда пользователь запускает процесс?
  • 0
    Привет, как я могу получить его для автоматического входа? - Единственные методы, которые я видел, это использовать команды для отправки ключей ... которые не кажутся очень надежными.
Показать ещё 1 комментарий
Теги:
vbscript

1 ответ

0

Я не очень хорошо знаком с используемой системой, но я только что написал небольшой пакетный файл, который использует bcp для копирования хранимой процедуры SQL в CSV. Файл содержит имя пользователя и PW.

Это будет выглядеть примерно так:

bcp "exec [your SQL SP]" queryout output.csv -S[your server] -U[username] -P[PW] -c -t,

Как вы говорите, не очень безопасно (мой будет работать как запланированное задание), но может быть, есть еще один способ сделать что-то по этому поводу? Возможно, зашифруйте командный файл. Там бесплатная программа здесь, что, как представляется, сделать это. Из рекламного ролика:

Advanced BAT to EXE Converter не только шифрует ваш код, но вы можете создать настоящую Windows.EXE-программу.

  • 0
    Разве это не будет имя пользователя базы данных и пароль? Я не вижу, как это будет аутентифицироваться с использованием учетной записи NT?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню