• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Ошибка подключения к БД

  • Автор темы CruiserD
  • Дата начала
Статус
Закрыто для дальнейших ответов.
C

CruiserD

Здравствуйте.
Есть програмуля, собственноручно написанная и успешно работающая в моей организации. Продал ее в другую организацию. В одном месте программы происходит подключение к БД через компонент ADOConnection. Формируется ConnectionString на основе введенных пользователем логина и пароля и прочитанных из ини файла имени сервака и имени БД, потом свойству Connected присваивается TRUE. И в этом месте прога выдает ошибку: "Недопустимое значение свойства. Убедитесь, что значение введено правильно". У меня на работе такого не происходит, все гладко работает. Платформы одни и теже. И у меня и там сервак вин2003 сервер и MSSQL Server 2000 SP3 проинсталены с одного компакта, лицензионные.

Строка формируется так:

DM1.Bron_DB.Connected:=FALSE;
DM1.Bron_DB.ConnectionString:='Provider=SQLOLEDB.1;Persist '+
'Security Info=True;Use Procedure for Prepare=1;Auto '+
'Translate=True;Packet Size=4096;Workstation ID=localhost;'+
'Data Source='+MainDlg.IniServer_bu+';Initial Catalog='+
MainDlg.IniDatabase_bu+';User ID='+MainDlg.CurUser+';Password='+
MainDlg.CurPass;
DM1.Bron_DB.Connected:=TRUE;

По шомессаджу проверял ее от клиента (он присылал скрин):

Provider=SQLOLEDB.1;Persist Security Info=True;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=localhost;Data Source=192.168.0.1;Initial Catalog=Bron_Mr;User ID=Admin;Password=nimda

Подскажите, что за свойство может так себя проявлять, а то ехать к ним далековато и вести Дельфу и исходники к ним не очень хочется, удаленного доступа пока к ним нет.
 
C

CruiserD

Пока не помогли :-(

инсталю сиквел сервер всегда я и всегда выставляю смешанную аутетификацию

Меня беспокоит, что к основной БД оно таким вот макаром без проблем подключается, а к Bron_Mr не хочет. Строки формируются онотипно, разница только в именах БД. Юзер тот же, пароль тот же.

Ну и самое смешное, что у меня на месте все работает с моим серваком.

Есть еще один прикол, не знаю, имеет ли оно отношению к вышеуказанной проблемме....В одном месте
у меня одна сторед процедура выдает ошибку: "Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <=, >, >= or when the subquery is used in expression"

Эта ошибка у меня давно была решена установкой мдака 2,7

Но у них и эта ошибка появляется, что на серваке, на котором вин2003 стоит, что на клиентах, на которых вин хр стоит. Передал клиенту мдак 2,8 - клиент говорит с правами админа и не может установить. Система ругается, не помню что.

Так вот я думаю, не связанны ли эти обе проблемы между собой именно в сети клиента....
 
C

CruiserD

я уже точно не помню, но вроде там действительно переменной присваивается селект, который возвращает более одного значения. Мдак 2,7 точно помог в этой ситуации у меня
 
C

CruiserD

Ну все. Все решилось.
Как всегда сплошные банальности

В свойстве ДефаултДатабейз проблемного АДОКонекшена было указано имя БД, которая есть у меня, а у клиента такого нет. А в другом, непроблемном АДОКонекшене это свойство было пустым. Очистил и все пошло. То есть, я так понимаю свойство ДефаултДатабейз приоритетнее заданого в Коннекшнстринг "Initial Catalog=" ?

Теперь жду разультата про ошибку: "Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <=, >, >= or when the subquery is used in expression"
 
B

Barmutik

Ну а чего тут ждать .. по ошибке понятно в чём проблема ...

Вложенный запрос возвращает больше чем одну строку .. что непозволяется с операциями сравнения...
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!