Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

SQL Server 2000 ??? [MSSQL]


Страницы:   1 2 3

domenicas ©   (2003-09-25 15:16:00) 

Не могу понять в чём дело?OC Windows2000
SQL Server 2000
Клиент SQL Server 2000
BDE Version 5.01
при попытке соединения с базой через BDE под пользователем с Win-аутенфикацией пол. сообщение "Unknown user name or password.
Login failed for user "(null)". Reason: Not associated with a trusted SQL Server connection.
Login incorrect.
Alias: D0"
____________
OC Windows98
SQL Server 2000
Клиент SQL Server 7.0
BDE Version 5.01
всё ок!
____________________________
приконектиться пытаюсь прямо из BDE-администратора
настройки BDE: http://domenicas.boom.ru/index.html Пожалуйста, помогите понять в чём дело!


Filat   (2003-09-25 19:39:00) [1]

domenicas ты хочешь сказать что все с SQL 7.0 гачит?
Оч. хорошо! А как вариант на будущее что новый MS SQL не поддерживает 7.0 и через раз 2000-й, что потом будешь делать?


domenicas   (2003-09-25 19:28:00) [2]

Дамы и Господа всем душевное Спасибо, общими стараниями проблема решена!
Вывод:

Пробл"з появляется в случае когда.
1)Используется SQL Server 2000
2)Client SQL Server"a 2000
3)Использование протокола TCP/IP
____________________________________
Выход в таком сочетании необходимо использовать протокол
Named Pipes
P.S. бага не проявляется если используется либо клиент, либо сервер 7-ой версии


Delirium   (2003-09-25 17:00:00) [3]

ВЫВОД: То, что BDE-шный драйвер по одному из протоколов, всё-же коннектится с NT-аутентификацией, заслуга не BDE, а организации самого протокола Named pipes. Что кстати подтверждает MSDN
Anonymous Pipe Security and Access Rights

Windows NT security enables you to control access to anonymous pipes. For more information about security, see Access-Control Model.

You can specify a security descriptor for a pipe when you call the CreatePipe function. The security descriptor controls access to both the read and write ends of the pipe. If you specify NULL, the pipe gets a default security descriptor. The ACLs in the default security descriptor for a pipe come from the primary or impersonation token of the creator.

To retrieve a pipe"s security descriptor, call the GetSecurityInfo function. To change a pipe"s security descriptor, call the SetSecurityInfo function.

The CreatePipe function returns two handles to the anonymous pipe: a read handle with GENERIC_READ and SYNCHRONIZE access; and a write handle with GENERIC_WRITE and SYNCHRONIZE access. GENERIC_READ and GENERIC_WRITE access use the same access rights mapping as for named pipes.

GENERIC_READ access for an anonymous pipe combines the rights to read data from the pipe, read pipe attributes, read extended attributes, and read the pipe"s DACL.

GENERIC_WRITE access for an anonymous pipe combines the rights to write data to the pipe, append data to it, write pipe attributes, write extended attributes, and read the pipe"s DACL.


Delirium   (2003-09-25 16:51:00) [4]

Добился! :)

Действительно всё дело в протоколах обмена, Named pipes по видимому перехватывет null в логине, и подменяет режим аутентификации :)


Reindeer Moss Eater   (2003-09-25 16:45:00) [5]

Могу предположить, что у тебя не защищённый "sa" например, или ещё какой-нибудь логин вроде того-же "MYNAME" есть на MSSQL и без пароля.

Как быть с реально разными правами на объекты?

К тому же смена пароля у "sa" - первое мое инстинктивное действие после установки сервера


Delirium   (2003-09-25 16:41:00) [6]

Могу предположить, что у тебя не защищённый "sa" например, или ещё какой-нибудь логин вроде того-же "MYNAME" есть на MSSQL и без пароля.


Reindeer Moss Eater   (2003-09-25 16:39:00) [7]

А поисходит это потому, что BDE ничего не знает об альтернативной технологии аутентификации

Я этому могу найти иное объяснение. Например не все сетевые библиотеки клиента MSSQL допускают trusted connection.

А вот объясните мне как мой TDatabase1 с именем драйвера "MSSQL" уже много лет соединяется с MSSQL используя NT auth. При этом у всех доменных пользователей совершенно различные права на различные объекты базы данных.


Delirium   (2003-09-25 16:34:00) [8]

А поисходит это потому, что BDE ничего не знает об альтернативной технологии аутентификации


Reindeer Moss Eater   (2003-09-25 16:34:00) [9]

И так, я в BDE Administrator создаю новый линк типа MSSQL прописываю SERVER NAME и DATABASENAME, "Apply" что дальше ?

Дальше щелкаем на квадратик слева от имени алиаса и в логон скрине ничего не добавляя давим на "Ок".


Delirium   (2003-09-25 16:33:00) [10]

"Login failed for user (null)" - естественно, попытка аутентификации с пустым логином именно к этому диалогу и приводит.


Delirium   (2003-09-25 16:31:00) [11]

MYNAME я конечно удалил


Delirium   (2003-09-25 16:30:00) [12]

Давай по действиям, может откорешь для меня что-то новое.
И так, я в BDE Administrator создаю новый линк типа MSSQL прописываю SERVER NAME и DATABASENAME, "Apply" что дальше ?


Reindeer Moss Eater   (2003-09-25 16:30:00) [13]

Не работать может по одной смешной причине.
В параметрах BDE по умолчанию (см.[3]) оставляют дефолтное "MYNAME", а в свойствах алиаса старательно стирают имя пользователя, забывая, что на сервер уйдет "MYNAME" при этом.

Случай когда на сервере вообще не включена NT auth не рассматриваем


Reindeer Moss Eater   (2003-09-25 16:25:00) [14]

разумеется, я проверил сие неоднократно.

Неправильно проверил значит. Хотя это странно если учесть
Увлечения / хобби
Delphi и MSSQL


Работает это и на ура работает.


Delirium   (2003-09-25 16:21:00) [15]

"Зачем верить в то, что легко проверяется?" - разумеется, я проверил сие неоднократно.


Reindeer Moss Eater   (2003-09-25 16:19:00) [16]

Вот это всегда работало с проверкой подлинности средствами NT" - никогда в это не поверю, потому что такого не может быть.

Зачем верить в то, что легко проверяется?


Reindeer Moss Eater   (2003-09-25 16:17:00) [17]

То что там нет ни слова еще не значит, что её нельзя использовать. В том числе без ODBC.

Когда наконец устанете вписывать и выписывать пользователей и обратитесь к документации BDE,

К документации по SQL Links тоже наверное надо обратиться.


Delirium   (2003-09-25 16:15:00) [18]

"TDataBase.DriverName:="MSSQL"; //Это SQL Links, а не ODBC
Вот это всегда работало с проверкой подлинности средствами NT" - никогда в это не поверю, потому что такого не может быть.


Delirium   (2003-09-25 16:13:00) [19]

Когда наконец устанете вписывать и выписывать пользователей и обратитесь к документации BDE, обнаружите - что там нет ни слова о NT-аутентификации, тогда может перестанете издеваться над устаревшей технологией и перейдёте хотя бы на ODBC.


Reindeer Moss Eater   (2003-09-25 16:11:00) [20]

domenicas
ок, прописал доменного пользователя - результат тот же.


Зачем прописал-то?


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо