powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / SqlStringConnect
3 сообщений из 3, страница 1 из 1
SqlStringConnect
    #34214449
shanton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пытаюсь програмно создать соединение с MS SQL через драйвер ODBC:

Driver={SQL Server};Server=myServerAddress;Database=myDataBase;Trusted_Connection=Yes;

вроде получается. Но коннект создаётся независимо от того есть ли у пользователя права на доступ к БД, непускает только в том случае если пользователь совсем не зарегистрирован на сервере. Знаю, что можно конкретно задавать имя пользователя и пароль:

Driver={SQL Server};Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;

Но тут проблема, как узнать имя пользователя в домене и его пароль, поскольку програмой будут пользоватся разные пользователи домена.
Как быть? Подскажите пожалуйста
...
Рейтинг: 0 / 0
SqlStringConnect
    #34214548
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Конкретно имя пользователя и его пароль можно указывать только если сервер допускает такую авторизацию. При этом логины и пароли прописываются на самом сервере.
...
Рейтинг: 0 / 0
SqlStringConnect
    #34215005
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shantonПытаюсь програмно создать соединение с MS SQL через драйвер ODBC:

Driver={SQL Server};Server=myServerAddress;Database=myDataBase;Trusted_Connection=Yes;

вроде получается. Но коннект создаётся независимо от того есть ли у пользователя права на доступ к БД, непускает только в том случае если пользователь совсем не зарегистрирован на сервере.

В данном случае используется Windows Authentication (Trusted Connection - MS SQL Server её поддерживает всегда).
Пользователь (или Windows группа, куда он входит) должен иметь Login на SQL сервере.
Наличие Login - это необходимое, но не достаточное условие для работы с конкретной базой данных на сервере. В общем случае в этой базе данных должен быть пользователь (User), связанный с Login на сервере (или пользователь guest). Этому пользователю затем дают разрешения (permission) на объекты базы данных. Также, еще есть права за счет членства в ролях (группах) сервера или базы данных, права за счет владения объекта. В общем, советую почитать HELP по MS SQL (Book On Line или BOL).
shanton
Знаю, что можно конкретно задавать имя пользователя и пароль:
Driver={SQL Server};Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;
Но тут проблема, как узнать имя пользователя в домене и его пароль, поскольку програмой будут пользоватся разные пользователи домена.
Как быть? Подскажите пожалуйста
При таком подключении используется SQL Authentication. MS SQL Server должен работать в режиме Mixed Mode (Windows Authentication and SQL Server Authentication). При этом на сервере должен быть создан SQL Login (в вашем случае myUsername) с указанным паролем (myPassword).
А далее.. смотри все, что я сказал про пользователей базы данных выше.
Если вы с сервером уже соединились, то имя пользователя и домен можно узнать через системную функцию сервера: SUSER_SNAME()
С уважением, Алексей.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / SqlStringConnect
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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