Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 28.05.2013, 11:41
Аватар для alexusankov
alexusankov alexusankov вне форума
Новичок
 
Регистрация: 27.08.2012
Сообщения: 78
Версия Delphi: C++/Delphi 2010
Репутация: 10
По умолчанию Можно ли использовать ADO из службы?

Доброго дня. Есть необходимость подключиться к MySQL из службы.
1. Скачан драйвер для MySQL
2. Создан системный DNS
3. На форму положено ADOConnection и ADOQuery
4. В ADOConnection забита ConnectionString (тест проходит успешно), LoginPromt := False; В ADOQuery стоит Connection := AdoConnection.
Все как обычно.
Но этот код - не работает, глушит службу и ОС ее выключает :
Код:
procedure TTTsRTM.LoadSQL;
var Answer : TStringList;
begin
  Answer := TStringList.Create; 
  Answer.Add('Hello'); 
  Q.SQL.Clear;  
  Q.SQL.Text := 'SELECT * FROM referent'; 
  Q.Open;   // Вот тут программа падает
  while NOT Q.Eof do begin
    Answer.Add(Q.FieldValues['R.ObjectName'] + ',' + Q.FieldValues['t8.AValue'] + ',' + Q.FieldValues['t8.Stt']);
    Q.Next;
  end;
  Answer.SaveToFile('c:\logsss.txt');
  Q.Close;
end;
Что я делаю не так?
Ответить с цитированием
  #2  
Старый 28.05.2013, 11:50
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

В АДО накручено лихо все, попробуй какие-нибудь сторонние компоненты, которые прямое подключение обеспечивают.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #3  
Старый 28.05.2013, 11:52
Аватар для alexusankov
alexusankov alexusankov вне форума
Новичок
 
Регистрация: 27.08.2012
Сообщения: 78
Версия Delphi: C++/Delphi 2010
Репутация: 10
По умолчанию

Цитата:
Сообщение от M.A.D.M.A.N.
В АДО накручено лихо все, попробуй какие-нибудь сторонние компоненты, которые прямое подключение обеспечивают.
У меня Turbo Delphi, с установкой компонентов могут возникнуть проблемы..
А отчего может быть такая ситуация как у меня?
Причем, даже если я на форме попытаюсь выставить в ADOQuery := True, то выползет неизвестная ошибка :-(
P.s. хм... создаю оконное приложение - такая же ошибка. Видимо в чем то глюк. Хотя в ConnectionString подключение проходит. Странно...

Последний раз редактировалось alexusankov, 28.05.2013 в 12:03.
Ответить с цитированием
  #4  
Старый 28.05.2013, 12:14
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
По умолчанию

Цитата:
то выползет неизвестная ошибка :-(
отчего ж она неизвестная то? )) ... ее просто нужно прочитать и превести)) и станет она "известной" )

upd: и вот это
Цитата:
Код:
  Q.SQL.Clear;  
  Q.SQL.Text := 'SELECT * FROM referent'; 
  Q.Open;   // Вот тут программа падает
было бы неплохо заменить на
Код:
  Q.Close;  
  Q.SQL.Text := 'SELECT * FROM referent';
  try 
    Q.Open;
  except
    on E:Exception do 
      ShowMessage('при открытии запроса произошла ошибка: ' + E.Message);
  end;
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз

Последний раз редактировалось Yurk@, 28.05.2013 в 12:22.
Ответить с цитированием
  #5  
Старый 28.05.2013, 12:50
Аватар для alexusankov
alexusankov alexusankov вне форума
Новичок
 
Регистрация: 27.08.2012
Сообщения: 78
Версия Delphi: C++/Delphi 2010
Репутация: 10
По умолчанию

[quote=Yurk@]QUOTE]
К сожалению, это не возможно, т.к. работатть не будет.Так и пишет - неизвестная ошибка
А вот собственно и она - это происходит, когда я прямо на форме пытаюсь активировать TADOQuery
З.ы. Шо значит напрямую? Без ODBC?

Последний раз редактировалось alexusankov, 28.05.2013 в 13:31.
Ответить с цитированием
  #6  
Старый 28.05.2013, 14:03
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
По умолчанию

ищи косяк в настройках подключения и запросе.
третьего не дано)
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
Ответить с цитированием
  #7  
Старый 28.05.2013, 16:16
Аватар для alexusankov
alexusankov alexusankov вне форума
Новичок
 
Регистрация: 27.08.2012
Сообщения: 78
Версия Delphi: C++/Delphi 2010
Репутация: 10
По умолчанию

Цитата:
Сообщение от Yurk@
ищи косяк в настройках подключения и запросе.
третьего не дано)
Пробую уже с формы, на С++, с ADO + ODBC - такая же балда.
Три драйвера для MySQL перебрал.
Впервые к MySQL цепляюсь.
Как искать косяки, если источник данных и ConnectionString - проходят тест, и говорят что он успешен...
Ехх.. :-(
База данных, довольно своебразна кстати. Пускает без авторизации.
Может проблема с этим?

Последний раз редактировалось alexusankov, 28.05.2013 в 16:18.
Ответить с цитированием
  #8  
Старый 28.05.2013, 16:34
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

А если не из службы, а из обычного приложения, то ошибок не выдаёт?
Ответить с цитированием
  #9  
Старый 28.05.2013, 16:41
Аватар для alexusankov
alexusankov alexusankov вне форума
Новичок
 
Регистрация: 27.08.2012
Сообщения: 78
Версия Delphi: C++/Delphi 2010
Репутация: 10
По умолчанию

Цитата:
Сообщение от poli-smen
А если не из службы, а из обычного приложения, то ошибок не выдаёт?
Выдает.
В любом состоянии. Что из службы, что из формы. Как на Delphi, так и на C++.
Хотя и там и там, тест при создании ConnectionString проходит нормально.
Единственное что - попытка активировать ADOQuery прямо на форме вызывает такую же ошибку.
Впервые MySQL касаюсь, а данные с этой базы снимать , ой как хочется.
P.s. а, кстати! Облазил уже весь гугл, и пришла в голову мысль - возможно в MySQL нельзя так просто делать запросы, как я привык делать это в MS SQL?
То есть
Код:
Q.SQL.Text := 'SELECT * FROM referent';
Может быть неверно в принципе?
Может надо ставить ; в конце фразы?
Юзать use TableName, и GO??
Товарищи, кто работал с MySQL из ADO, просвятите пожалуйста!

Последний раз редактировалось alexusankov, 28.05.2013 в 17:16.
Ответить с цитированием
  #10  
Старый 29.05.2013, 16:35
Аватар для alexusankov
alexusankov alexusankov вне форума
Новичок
 
Регистрация: 27.08.2012
Сообщения: 78
Версия Delphi: C++/Delphi 2010
Репутация: 10
По умолчанию

Чтот никак не осиляется MySQL.
Товарищи, есть у кого какие догадки, в какую смотреть сторону?
Какие нюансы я мог пропустить, переходя с MSSQL на MySQL?
Ответить с цитированием
  #11  
Старый 29.05.2013, 16:51
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
По умолчанию

кидай архив проэкта сюда (тот который "оконный", а не службу)
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
Ответить с цитированием
Этот пользователь сказал Спасибо Yurk@ за это полезное сообщение:
alexusankov (31.05.2013)
  #12  
Старый 29.05.2013, 17:09
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

А все скорее всего проще простого. У вас права на чтение таблиц то имеются? Подключится к MySQL еще не значит получить доступ к объектам.
Кроме того, вот не нравится мне имя вашего контрола Connect. Уж больно оно близко к служебным именам. Во избежании переименуйте его во что-то менее опасное. Идем дальше. Есть у MySQL одна фича, у него все имена таблиц, полей желательно явно выделять т.е.
Код:
select * from `MyTable` 
или
Код:
select * from [MyTable]
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.

Последний раз редактировалось Страдалецъ, 29.05.2013 в 17:13.
Ответить с цитированием
  #13  
Старый 31.05.2013, 08:50
Аватар для alexusankov
alexusankov alexusankov вне форума
Новичок
 
Регистрация: 27.08.2012
Сообщения: 78
Версия Delphi: C++/Delphi 2010
Репутация: 10
По умолчанию

Цитата:
Сообщение от Страдалецъ
А все скорее всего проще простого. У вас права на чтение таблиц то имеются? Подключится к MySQL еще не значит получить доступ к объектам.
Не уверен, что правильно понял вопрос. Однако я подключаюсь из консоли, без логина и пароля, и свободно читаю SELECT'ом...
Да собственно проекта то и нету.
Есть DBGRID->DataSource->ADOQuery->ADOConnection.
Имена стандартные.
Даже кода нету, SELECT забит в ADOQuery->SQL
Перепробовал вышеописанное.
Не выходит ничего.
Может загвоздка в отсутствии учетной записи

Последний раз редактировалось alexusankov, 31.05.2013 в 08:58.
Ответить с цитированием
  #14  
Старый 03.06.2013, 14:23
Аватар для alexusankov
alexusankov alexusankov вне форума
Новичок
 
Регистрация: 27.08.2012
Сообщения: 78
Версия Delphi: C++/Delphi 2010
Репутация: 10
По умолчанию

Туплю жестоко - не могу понять. Не получается, та же самая ошибка.
Ребят, вы можете набросать простейшую форму в три строки, которая коннектится к локалхосту, с учеткой root:root. и делает SELECT * FROM t8 ?
Хочу проверить - если заработает, значит я что то упускаю
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 08:04.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter