Форум: "Базы";
Текущий архив: 2004.07.18;
Скачать: [xml.tar.bz2];
ВнизMS SQL и mySQL - глюки Найти похожие ветки
← →
Fishka (2004-06-21 15:56) [0]В проекте ADoConnection к MS SQL (ADC), ADOQuery (ADQ),
ADoConnection к MySQL (ADM), ADOQuery (ADQ_my).
Программа работает неверно (некорректно заполняются
TstringList-ы). Драйвер mySQL 3.51.
Меняю в строке ConnectionString в ADM на базу MS SQL - и все нормально.
Наверно, мало информации, но все же в чем проблема и как с этим бороться?
← →
Ega23 © (2004-06-21 16:00) [1]Наверно, мало информации
На 100% в яблочко!
← →
bushmen © (2004-06-21 16:00) [2]А уверен, что данные и там, и там - абсолютно одинаковые?
← →
Fishka (2004-06-21 16:04) [3]bushmen © (21.06.04 16:00) [2]
Да, имена таблиц и полей одинаковы. И запрос не выдает ошибок.
Ищу ошибку в программе уже довольно давно. Больше нет сил.
← →
Anatoly Podgoretsky © (2004-06-21 16:08) [4]А теперь мы всю ночь будем мучатьсяЮ, думать, что работает неверно.
← →
Fishka (2004-06-21 16:16) [5]Мучаться не надо, желательно попытаться помочь.
Вот кусок:
ADQ_my.Close;
ADQ_my.SQL.Clear;
ADQ_my.SQL.Add("SELECT * FROM own where id_own<0");
try
ADQ_my.Open;
except
end;
И если запрос к mySQL, то далее программа работает некорректно.
Если запрос к MSSQL, то далее программа работает нормально (ежедневно в течение 5 месяцев проблем не было, обработано не менее 50 000 записей).
Запрос к mySQL вставлен недавно, и начались проблемы.
← →
bushmen © (2004-06-21 16:18) [6]>то далее программа работает некорректно
В чем выражается это "некорректно"? И как она должна работать правильно?
← →
Ega23 © (2004-06-21 16:19) [7]Запрос к mySQL вставлен недавно, и начались проблемы.
1. Идентичны ли эти запросы?
2. Идентичны ли параметры соединения?
← →
Fishka (2004-06-21 16:23) [8]Ega23 © (21.06.04 16:19) [7]
1.да
2.ConnectionString выглядит по-разному.
mySQL:Provider=MSDASQL.1;Password=mmm;Persist Security Info=True;User ID=fff;Data Source=f_m
MS SQL: Provider=SQLOLEDB.1;Password=111;Persist Security Info=True;User ID=1_1;Data Source=MERC
← →
Ega23 © (2004-06-21 16:34) [9]Тогда см. [6]
← →
Fishka (2004-06-21 16:41) [10]Непонятно. Ошибка в формировании массивов в совершенно другой процедуре. Но если убрать Connection к mySQL (которого не было раньше), то все нормально. Программа без mySQL работала нормально!
Извините, ухожу. Буду завтра. Но надеюсь на помощь.
← →
bushmen © (2004-06-21 16:44) [11]>Непонятно. Ошибка в формировании массивов в совершенно другой >процедуре. Но если убрать Connection к mySQL (которого не было >раньше), то все нормально
А нам-то как непонятно!
>Но надеюсь на помощь.
Надежда умерает последней... вместе с человеком. :))))
← →
Fishka (2004-06-22 09:06) [12]Вопрос, на мой взгляд, может иметь следующие ответы:
1. необходим ADOUpgrade для Delphi 7 (как это было для Delphi 5).
Существует ли он и где его взять?
2. ошибка в драйвере mySQL. Нужен другой. См. п.1.
3. .............
← →
bushmen © (2004-06-22 09:24) [13]>Fishka (22.06.04 09:06) [12]
Или ты отвечаешь на наши вопросы или никто тебе ничем не сможет помочь!
← →
Anatoly Podgoretsky © (2004-06-22 09:26) [14]Ты больше так не делай
except
end;
← →
Fishka (2004-06-22 09:40) [15]1.bushmen © (22.06.04 09:24) [13]
На какой вопрос ко мне нет ответа?
Anatoly Podgoretsky © (22.06.04 09:26) [14]
Почему не делать: try ... except end;?
(А вдруг непредвиденные обстоятельства?)
← →
bushmen © (2004-06-22 09:52) [16]>На какой вопрос ко мне нет ответа?
Хотя бы на этот: bushmen © (21.06.04 16:18) [6]
>Почему не делать: try ... except end;?
(А вдруг непредвиденные обстоятельства?)
Вот в случае непредвиденных обстоятельств ты ничего и не узнаешь :) Ты бы хоть вывод сообщения об ошибке выводил или лучше обработчик поставил.
← →
Fishka (2004-06-22 10:10) [17]1. См. вопрос. Ошибка указана: некорректно заполняются TstringList-ы
2.Конечно, вывод сообщения об ошибке есть. Но какое это имеет отношение к вопросу?
← →
Ega23 © (2004-06-22 10:15) [18]Fishka (22.06.04 10:10) [17]
Блин, ну чего непонятного-то? Если некорректно заполняются TstringList-ы, то это ошибка в прогграмме.
← →
Fishka (2004-06-22 10:18) [19]Ega23 © (22.06.04 10:15) [18]
Но программа корректно работала и работает (если без обращения к mySQL) уже 6 месяцев! Ежедневно!
Но как только был сделан запрос к таблицам mySQL, начался бред.
Почему?
← →
bushmen © (2004-06-22 10:18) [20]>Fishka (22.06.04 10:10) [17]
Сделай проще: добавь на форму 2 GRID"a и в один выведи данные из SQL Server, в другой - из MySQL и сравни результаты. Тебе сразу все станет ясно.
← →
Fishka (2004-06-22 10:26) [21]Но дело не в результатах запроса!
Запрос в том и другом случае возвращает 0 записей (это для отладки).
В программе я ничего не меняю! Только AdoConnection на форме и сразу какой-то бред!
И все-таки см. Fishka (22.06.04 09:06) [12]
← →
bushmen © (2004-06-22 10:29) [22]>Запрос в том и другом случае возвращает 0 записей
Тогда объясни, что ты выводишь в StringList? :))
← →
Anatoly Podgoretsky © (2004-06-22 10:31) [23]Fishka (22.06.04 10:26) [21]
Интересно 0 записей и вывод в StringGrid, воздуза что ли?
← →
Johnmen © (2004-06-22 10:38) [24]>Fishka
Что такое f_m ?
← →
bushmen © (2004-06-22 10:42) [25]>Что такое f_m ?
Это он, наверное, радио слушает :))
← →
Johnmen © (2004-06-22 10:43) [26]>Это он, наверное, радио слушает :))
Тогда это ошибка, т.к. не указана частота... :^)
← →
Fishka (2004-06-22 10:47) [27]bushmen © (22.06.04 10:29) [22]
Anatoly Podgoretsky © (22.06.04 10:31) [23]
Это уже в другой процедуре, которая никакого отношения (вроде бы) ни к каким запросам не имеет.
Johnmen © (22.06.04 10:38) [24]
f_m - System DSN (ODBC Data Source Administrator).
← →
Johnmen © (2004-06-22 10:59) [28]Fishka (22.06.04 10:47) [27]
Это понятно. Ты название драйвера, скрывающегося за f_m, приведи.
← →
Fishka (2004-06-22 11:04) [29]mySQL ODBC 3.51 Driver
← →
bushmen © (2004-06-22 11:08) [30]>Это уже в другой процедуре, которая никакого отношения (вроде >бы) ни к каким запросам не имеет
меня не волнует другая процедура, меня интересует та, в которой у тебя разногласия по данным возникают
← →
Johnmen © (2004-06-22 11:10) [31]>Fishka (22.06.04 11:04) [29]
Коннект проходит ?
Где mySQL сервер стоит ?
← →
Fishka (2004-06-22 11:11) [32]ushmen © (22.06.04 11:08) [30]
В ней и есть разногласия.
← →
bushmen © (2004-06-22 11:45) [33]Хватит играть в прятки: ты говоришь, что у тебя неверно выводится в StringList - вот и напиши, что выводится и что должно выводится!
← →
Fishka (2004-06-22 11:58) [34]Johnmen © (22.06.04 11:10) [31]
Коннект проходит
Free BSD 4.x
← →
Johnmen © (2004-06-22 12:07) [35]Fishka (22.06.04 11:58) [34]
Так. Движемся дальше...
Запрос выполняется ?
← →
Плохиш © (2004-06-22 12:18) [36]В программе 6 месяцев была ошибка, которая проявилась при очередном изменении программы. Лето на дворе, а телепаты ешё/уже не в отпуске :-) и дружно бросились искать ошибку, а ошибка спокойно сидит себе в 17й строке и посмеивается :-)
← →
Fishka (2004-06-22 12:20) [37]Johnmen © (22.06.04 12:07) [35]
Если в программе закомментированы строки:
ADQ_my.SQL.Add("SELECT * FROM own where id_own<0");
try
ADQ_my.Open;
except
end;
то все ОК.
И даже неважно выполняется или нет запрос.Если закомментировать строку с Open, то все равно глюки.
Если вышеприведенные строки раскомментировать, то программа в одной из процедур (где в основном мат. формулы) работает некорректно.
Это все в том случае, если есть mySQL.
Если нет mySQL, то все нормально.
← →
Fishka (2004-06-22 12:22) [38]Плохиш © (22.06.04 12:18) [36]
К сожалению, нет 17-й строки.
Есть всего одна, связанная с ADOConnection (да и то не в программе).
← →
Anatoly Podgoretsky © (2004-06-22 12:24) [39]Продолжаем разговор.
← →
Johnmen © (2004-06-22 12:26) [40]Так. Ещё дальше...
Что такое ADQ_my ? И его параметры.
Страницы: 1 2 3 вся ветка
Форум: "Базы";
Текущий архив: 2004.07.18;
Скачать: [xml.tar.bz2];
Память: 0.55 MB
Время: 0.036 c