Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Запрос в другую БД под другим пользователем  [new]
BPK
Member

Откуда: ни: возьмись.
Сообщений: 1601
Есть две базы данных: DB1 (основная, где все таблицы, ХП и функции) и DB2 (в ней только один View
CREATE VIEW dbo.MyView AS SELECT * FROM DB1.dbo.MyTable
). Так сделано в целях безопасности, подальше от кривых ручек юзеров.
К DB1 юзеры имеют право обращаться только через один общий SQL-Serverный аккаунт. Хотел сделать то же самое и с DB2, но программа, которую нужно использовать вместе с DB2.dbo.MyView, требует, чтобы обязательно было обращение через аккаунты Windows NT, иначе постоянно, каждую минуту, спрашивает username и пароль, что юзерам надоело.
Пришлось дать права каждому юзеру на обращение к DB2, а на обращение к DB1 права давать не хочется.

Внимание вопрос:
Как бы так обратиться из DB2.dbo.MyView к
SELECT * FROM DB1.dbo.MyTable
под другим логином и паролем?

При создании View с OPENROWSET, сервер ругается:
Heterogeneous queries require the ANSI_NULLS and ANSI_WARNINGS options to be set for the connection. This ensures consistent query semantics. Enable these options and then reissue your query.
10 ноя 04, 16:57    [1095725]     Ответить | Цитировать Сообщить модератору
 Re: Запрос в другую БД под другим пользователем  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37101
https://www.sql.ru/forum/actualthread.aspx?tid=130440&hl=ansi+nulls+ansi+warnings
10 ноя 04, 16:58    [1095732]     Ответить | Цитировать Сообщить модератору
 Re: Запрос в другую БД под другим пользователем  [new]
BPK
Member

Откуда: ни: возьмись.
Сообщений: 1601
Гавриленко Сергей Алексеевич
https://www.sql.ru/forum/actualthread.aspx?tid=130440&hl=ansi+nulls+ansi+warnings

Что же получается, без промежуточной ХП никуда не деться?
10 ноя 04, 17:03    [1095765]     Ответить | Цитировать Сообщить модератору
 Re: Запрос в другую БД под другим пользователем  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37101
BPK
Гавриленко Сергей Алексеевич
https://www.sql.ru/forum/actualthread.aspx?tid=130440&hl=ansi+nulls+ansi+warnings

Что же получается, без промежуточной ХП никуда не деться?

Ну, млин ...
SET ANSI_NULLS ON
SET ANSI_WARNINGS ON
go

CREATE view...
AS
10 ноя 04, 17:04    [1095778]     Ответить | Цитировать Сообщить модератору
 Re: Запрос в другую БД под другим пользователем  [new]
Glory
Member

Откуда:
Сообщений: 104760
Что же получается, без промежуточной ХП никуда не деться?
Информацию которую вы здесь получаете нужно анализировать. А не просто смотреть на нее.
Кто вам мешает заменить CREATE PROCEDURE на CREATE VIEW ?
10 ноя 04, 17:05    [1095781]     Ответить | Цитировать Сообщить модератору
 Re: Запрос в другую БД под другим пользователем  [new]
BPK
Member

Откуда: ни: возьмись.
Сообщений: 1601
М-да, выяснилось, что, оказывается, это нужно делать в Query Analyzer, а не Enterprise Manager.
10 ноя 04, 17:32    [1095917]     Ответить | Цитировать Сообщить модератору
 Re: Запрос в другую БД под другим пользователем  [new]
Glory
Member

Откуда:
Сообщений: 104760
И там и там можно
10 ноя 04, 17:33    [1095923]     Ответить | Цитировать Сообщить модератору
 Re: Запрос в другую БД под другим пользователем  [new]
BPK
Member

Откуда: ни: возьмись.
Сообщений: 1601
Так, теперь вопрос на засыпку. Как провернуть такое:
set ansi_nulls on
set ansi_warnings on
go
CREATE VIEW dbo.OrcadII
AS
SELECT * FROM OPENROWSET('SQLOLEDB','';'const';'12345','SELECT orc.* FROM El_Kd.dbo.EL_EL_ORCAD orc inner join el_kd.dbo.el_el_dcomptyp ct on orc.ptype=ct.[id] where orc.deleted=0 and ct.adminonly=0')
go
с помощью sp_executesql ?
10 ноя 04, 17:36    [1095935]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить