Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Параллельные соединения к mysql, на Zeos 
:(
    Опции темы
sunnmas
Дата 4.9.2009, 10:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 17.4.2009

Репутация: нет
Всего: нет



Использую Zeos для обращения к mysql из Дельфи
Имеется многопотоковое приложение.
В главном потоке все было настроено визуально и все фурычит
В соседнем потоке создаю все вручную:
..
  Connect:=TZConnection.Create(nil);
  Query:=TZQuery.Create(nil);
  Connect.HostName:='127.0.0.1';
  Connect.Protocol:='mysql-5';
  Connect.Database:='dleadder';
  Connect.User:='root';
  Connect.Password:='';
  Query.SQL.Text:='SELECT `index`,`site` FROM `....'
  Query.Open; <-здесь зависает
..
  Правда я захожу под одним и тем же rootом в обоих потоках на разных соединениях. Так можно? 

PS max_connections = 0 для rootа



Это сообщение отредактировал(а) sunnmas - 4.9.2009, 10:31
PM MAIL   Вверх
Romikgy
Дата 6.9.2009, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 4
Всего: 146



откель 
Цитата(sunnmas @  4.9.2009,  09:23 Найти цитируемый пост)
Query

знает по какому 
Цитата(sunnmas @  4.9.2009,  09:23 Найти цитируемый пост)
Connect

ему работать ?


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
dvamaster
Дата 22.9.2009, 13:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 559
Регистрация: 30.6.2004
Где: Россия : Курган

Репутация: 3
Всего: 10



Но ведь используется одна DLL

что-то слышал про mysql_thread_init

как она работает?

Добавлено через 8 минут и 6 секунд
машинный перевод для mysql_thread_init

Эта функция должна вызываться для каждого созданного потока для инициализации потока специфических переменных.

а вот в Zeos`е не найдено использование этой фукции, есть только переменная с указателем на нее


--------------------
Хорошую информацию трудно добыть. Сделать с ней что-нибудь - еще труднее. /L. Skywalker/

Что же я сделал не так? /Король Лир/

Я делаю это для твоего же блага! /Любой родитель и палач/

PKUNZIP.ZIP /неизвестный/
PM MAIL WWW ICQ   Вверх
dvamaster
Дата 23.9.2009, 13:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 559
Регистрация: 30.6.2004
Где: Россия : Курган

Репутация: 3
Всего: 10



Код

procedure TMyThread.Execute;
var
  i: Integer;
  m: PMYSQL;
begin
  if mysql_thread_init <> 0 then
    begin
      n := 'Не инициирован поток';
      Synchronize(MM);
    end;
  m := mysql_init(nil);
  if m = nil then
    begin
      n := 'Не инициирован MySQL';
      Synchronize(MM);
    end;
  if mysql_real_connect(m, 'host', 'user', 'pass', 'db', 3306, nil, 0) = nil then
    begin
      n := 'Не инициировано подключение';
      Synchronize(MM);
    end;
  for i := 0 to 100 do
    begin
      if mysql_query(m, 'SELECT * FROM `users`') <> 0 then
        begin
          n := 'ошибка в ' + IntToStr(i) + ' цикле';
          Synchronize(MM)
        end;
      Sleep(Random(100));
    end;
  mysql_thread_end;
  mysql_close(m)
end;


попробовал такой код, запустил 2 потока

приложение сразу ошибки на mysql_thread_init, оба потока отваливаются
если его убрать то втором потоке mysql_real_connect выдает ошибку

Это сообщение отредактировал(а) dvamaster - 23.9.2009, 13:09


--------------------
Хорошую информацию трудно добыть. Сделать с ней что-нибудь - еще труднее. /L. Skywalker/

Что же я сделал не так? /Король Лир/

Я делаю это для твоего же блага! /Любой родитель и палач/

PKUNZIP.ZIP /неизвестный/
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0711 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.