Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.09.18;
Скачать: [xml.tar.bz2];

Вниз

Подскажите, в потоке нельзя подсоединиться к SQL Server?   Найти похожие ветки 

 
Layner   (2003-08-25 16:01) [0]

Без потока соединяет, тоже самое в потоке, пишет "EOleException, не был произведён вызов CoInitialize.." Подскажите, в чём дело может быть???
Соединяюсь так (без потока здесь всё нормально работает):

ADOConnection1.ConnectionString:="Provider=SQLOLEDB.1;Password="+sg.Ce lls[3,i]+";Persist Security Info=True;User ID="+sg.Cells[2,i]+";Data Source="+sg.Cells[1,i]+"";
ADOConnection1.Connected:=True;


Вызываю в Execute, сли этот код ремю, то ошибок ни каких не выдаёт.


 
Quest   (2003-08-25 16:05) [1]

Try
CoInitialize(Nil);
...
finally
CoUninitialize();
end;

и помоему в USES нужно добавить ActiveX ...


 
Quest   (2003-08-25 16:08) [2]

http://delphimaster.net/view/3-1061635337/
читай чуть ниже :))


 
Layner   (2003-08-25 16:14) [3]

Спасибо!!! Quest © (25.08.03 16:05)


 
Layner   (2003-08-27 10:06) [4]

Опа! В делфи(F9) нормально работает этот код, т.е. соединяет столько раз, сколько серверов (у меня i:=10), далее на при каждом соединение выполняются SQL запросы (у меня j:=5).
Но вне делфи, т.е. запуске экзешника, работает не так, почти на каждый запрос, отсоединяется, подсоединяется от сервера, причем по несколько раз подряд, потом всё таки выполняет запрос. Может что сос структуроу TRY не правильно?

for i:=1 to 10 do begin
Try
CoInitialize(Nil);
Form1.ADOConnection1.ConnectionString:="Provider=SQLOLEDB.1;Password=" +Form1.sg.Cells[3,i]+";Persist Security Info=True;User ID="+Form1.sg.Cells[2,i]+";Data Source="+Form1.sg.Cells[1,i]+"";

Form1.ADOConnection1.Connected:=True;
for j:=1 to 5 do
Form1.ADOQuery1.ExecSQL;

finally
CoUninitialize();
end; //for i:=1
end; //try


 
Quest   (2003-08-27 10:14) [5]

ИМХО, нет необходимости каждый раз вызывать
CoInitialize(Nil); и CoUninitialize();
обычно эти вызовы предшествуют первому созданию объекта и CoUninitialize(); - вызывается при уничтожении или закрытии программы


 
Layner   (2003-08-27 10:27) [6]

Quest, приветствую, спасибо за ответ,
Я убрал try, и CoInitialize(Nil); вынес, все равно не помогает, вот как в делфи работает:
http://www.kirov.ru/~yuraz/snag-000.gif
а вот просто exe
http://www.kirov.ru/~yuraz/snag-001.gif (одни подключения)....


 
Quest   (2003-08-27 10:49) [7]

проверь и при необходимости выстави
ADOConnection1.KeepConnection:=True
ADOConnection1.ConnectOptions:=

... и попробуй использовать не Form1.ADOQuery1.ExecSQL
а
TAdoCommand


 
Layner   (2003-08-27 11:18) [8]

Quest, спасибо большущее, с KeepConnection что то действительно вышло, у меня по умолчанию стоял False. Я ещё подумываю на сеть, -когда нормально работает, когда не нормально, это конечно маловероятно.


 
Digitman   (2003-08-27 14:18) [9]

вот это вот

Form1.sg.Cells[3,i]

недопустимо использовать в доп.код.потоке без синхронизации с осн.код.потоком



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2003.09.18;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.007 c
14-58839
Jeer
2003-09-01 10:25
2003.09.18
Всех учащихся с новым учебным годом


1-58731
Андрей Слюсаренко
2003-09-07 11:43
2003.09.18
Всплывающее меню


6-58797
Vorobyev Sergey
2003-07-08 14:21
2003.09.18
Сокеты. Широковещательный. Broadcast. Отправка данных


14-58832
Председатель комиссии
2003-08-30 19:17
2003.09.18
Мастера Delphi: опрос


7-58922
maxon
2003-07-08 16:57
2003.09.18
запуск от другого имени





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский