Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.02.12;
Скачать: CL | DM;

Вниз

Связь с БД MySQL из Интернет-приложения   Найти похожие ветки 

 
vishnia   (2005-10-29 14:16) [0]

Пишу Интеренет-приложение ISAPI (DLL), показывает на странице информацию из БД, а также добавляет,записи и т.д.
Желательно, чтобы БД была MySQL. Пытаюсь установить связь с БД с помощью компонентов MyDAC (MyConnection), но оно тогда просто не работает (невозможно отобразить страницу). Пробую с Interbase - все нормально! Может, не через  MyDAC работать нужно? А как тогда? Подскажите!


 
Anatoly Podgoretsky ©   (2005-10-29 14:34) [1]

ISAPI это IIS и его настройки


 
vishnia   (2005-10-29 14:44) [2]

Но ведь с Interbase это же приложение работает, а настроек с какими БД работать в IIS  я не вижу.


 
isasa ©   (2005-10-29 14:45) [3]

Не обязательно. Апач тоже будет работать, если.

[httpd.conf]
...
LoadModule isapi_module modules/mod_isapi.so
...
<Directory "D:/Apache2/cgi-bin">
   ...
   Options ExecCGI
#    AddHandler isapi-isa .dll
   ...
</Directory>
..
AddHandler isapi-isa .dll

Что-то ж он горорит. Не молча рубит . :)


 
isasa ©   (2005-10-29 14:50) [4]

Попробуй
try ... except
с выводом сообщения в Response. ?
Или пробуй настроить дебагер (вот тут только IIS, кажется).


 
vishnia   (2005-10-29 14:53) [5]

HTTP 500 - Внутренняя ошибка сервера
Internet Explorer.


 
isasa ©   (2005-10-29 15:01) [6]

Это сообщение IIS, тебе надо ловить сообщение внутри потока.

10.5.1 500 Внутренняя ошибка сервера, Internal Server Error.
Сервер столкнулся с непредвиденным условием, которое не позволяет ему выполнить запрос.


Кстати
CoInitializeEx(nil, COINIT_MULTITHREADED);
делаем?


 
vishnia   (2005-10-29 15:02) [7]

Пишет, что
MyDAC trial version requires Delphi IDE. Что это значит, где этот IDE взять?


 
vishnia   (2005-10-29 15:05) [8]


> Кстати
> CoInitializeEx(nil, COINIT_MULTITHREADED);
> делаем?

А где надо такое делать? Я уже читала ваш ответ с такой функцией на форуме "БД", но поняла плохо и в справке не нашла.


 
isasa ©   (2005-10-29 15:11) [9]

IDE - это интегрированная среда разработки, т.е. в данном случае Дельфи.
Другими словами нужна не триал версия драйверов.
О функции  CoInitializeEx можно почитать в MSDN.


 
vishnia   (2005-10-29 15:18) [10]


> Другими словами нужна не триал версия драйверов.


Объясните пожалуйста, что такое триал и каких драйверов? И вообще , значит дело именно в MyDAC?


 
isasa ©   (2005-10-29 15:29) [11]

значит дело именно в MyDAC?
Да.


 
Anatoly Podgoretsky ©   (2005-10-29 16:05) [12]

vishnia   (29.10.05 15:02) [7]
Это значит, что на том компьютере должна быть постоянно запущеная Дельфи или надо раскошелиться и купить движок.


 
isasa ©   (2005-10-29 17:38) [13]

Учитывая печальные сентенции Копира, по поводу малочисленности женщин, в ветке потрепаться.
Решил даме уделить больше внимания. :)

vishnia   (29.10.05 15:05) [8]
Чуть подробнее.
Судя по вопросу используем, TDataModule - (CoInitialize вызывается "автоматом").
В принципе можно, но нужно учесть(это вообще нужно учитывать в данном случае):
1.По умолчанию DLL - многопотоковая модель (MTA - Multi-threaded apartments ), а "автомат" по-умолчанию предполагает STA (Single-threaded Apartments).

Управляет этой штукой флаг.

var
 CoInitFlags: Integer = -1;  // defaults to no threading model, call CoInitialize()

Ему перед TDataModule.Create надо присвоить

CoInitFlags:=COINIT_MULTITHREADED;

и тогда, по идее можно работать с TDataModule.

2. Если TDataModule объявлен глобально в DLL(чего я не стал-бы делать), то надо решить проблему его совместного использования несколькими потоками. Два пользователя, когда-нибудь вызовут страницу почти одновременно.

3.Попробовать TADOConnection, а конкретно, получить TADOConnection.ConnectionString на базу mySQL. Если сервер стоит под win, то и драйверок, скорее всего, есть.


 
guru-guru ©   (2005-11-04 13:10) [14]

Непарься! Стандартные компоненты не рулят с МуSQL, сам не один день потратил на коннектинг. Что я только не делал. Но выход нашел. Поищи в инете есть компоненты (во тут http://www.sourceforge.net/projects/zeoslib или http://www.zeoslib.net) Они специально для этой бд. И через них все замечательно рулит. Но если хочешь чтобы все было только в твоей власти юзай МСДН и ODBC.



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

Текущий архив: 2006.02.12;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.053 c
2-1138190213
Scavenger
2006-01-25 14:56
2006.02.12
Панель задач.


15-1137672308
Digitman
2006-01-19 15:05
2006.02.12
ReactOS - хотелось бы услышать имхи


15-1136841596
Profi
2006-01-10 00:19
2006.02.12
А вам не кажется, что наступает "Послезавтра"?


2-1138082942
Andruh
2006-01-24 09:09
2006.02.12
проблема с выводом в мемо


15-1137904711
AllinBDA
2006-01-22 07:38
2006.02.12
Компоненты или заголовки для Фиксального Регистра. "Феликс 3СК"