![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
EDBEngineError [D7, MSSQL]
vajo © (2003-05-28 12:35:00)Сделал консольное приложение, кот. формирует вэб страницу. Хочу выводить на ней базу из SQL Server 2000. База настроена в BDE. В пректе имею DataModul1, в кот. находится TQuery, настроеный на базу SQL.
При запуске проекта выходит ошибка:
"Project Pr.exe raised exception class EDBEngineError with message "Unknown user name or password.
Login failed for user "maa".
Login incorrect.
Alias: test". Process stopped."
Как реализовать коннект с базой?
Если использовать в обычном приложении (не консольном), то база подключается без проблем. Перед запуском она сама спрашивает имя и пароль, а как быть в консольном.
Если использовать локальные базы, например, из алиаса DBDEMO, то все работает.
Вот код:
program CgiDate;
{$APPTYPE CONSOLE}
uses
SysUtils,
Unit1 in "Unit1.pas" {DataModule1: TDataModule},
var
begin
DataModule1:=TDataModule1.Create(nil);// здесь останавливается
writeln ("CONTENT-TYPE: TEXT/HTML");
writeln;
writeln ("<HTML><HEAD>");
writeln ("<TITLE>Cgidate</TITLE>");
writeln ("</HEAD><BODY>>");
writeln ("<H1>Пример</H1>");
writeln ("<input type="submit" name="Submit" value="Sub">");
DataModule1.QueryLogAccount.Active:=True;
DataModule1.Destroy;
writeln ("</BODY>>");
end.
Unit Unit1;
interface
uses
SysUtils, Classes, DB, DBTables;
type
TDataModule1 = class(TDataModule)
QueryLogAccount: TQuery;
private
{ Private declarations }
public
{ Public declarations }
end;
var
DataModule1: TDataModule1;
implementation
{$R *.dfm}
end.
Соловьев (2003-05-28 15:18:00) [21]
> Max Zyuzin © (28.05.03 15:12)
так нет проблем :)
просто интересно где автор поста? он что-то выяснил?
Max Zyuzin (2003-05-28 15:12:00) [22]>Соловьев © (28.05.03 14:45)
Извиняюсь невнимательно посмотрел.
Соловьев (2003-05-28 14:45:00) [23]
> Unit1 in "Unit1.pas" {DataModule1: TDataModule},
а это что?
Max Zyuzin (2003-05-28 14:39:00) [24]>Соловьев © (28.05.03 14:28)
Но автор то пытается его сделать динамически!
Соловьев (2003-05-28 14:28:00) [25]
> Max Zyuzin © (28.05.03 14:22
подключаешь к консольному приложению DataModule и ничего создавать ручками не надо.
> невизуальных компонент для работы с данными в одном месте
в WebModule еще и строку запроса можно анализировать.
Max Zyuzin (2003-05-28 14:22:00) [26]>Соловьев © (28.05.03 14:11)
Может уже я чегонить недогоняю... но DataModule создан для централизации всех невизуальных компонент для работы с данными в одном месте, и все равно на нем придется создавать всякие Query и DataBase. По этому вопрос на кой он нужен в консольном приложении?
Соловьев (2003-05-28 14:11:00) [27]
> О какой форме
DataModule или WebModule
Max Zyuzin (2003-05-28 14:05:00) [28]>Соловьев © (28.05.03 14:01)
Стоп. О какой форме идет речь если у нас консольное приложение, и этот DataModule создается динамически?
Соловьев (2003-05-28 14:01:00) [29]выгода в том, что при использовании DataModule или WebModule тебе удобно не создавать компоненты доступа к данным, а просто положить их на форму. Не головняка с прописыванием этого программно. При использовании WebModule тебе легче как разработчику обрабатывать строку запроса от клиента, и с построением потом результата, использовав PageProduser тоже легче...
Max Zyuzin (2003-05-28 13:52:00) [30]>Соловьев © (28.05.03 13:51)
Раскажи плиз подробней какие выгоды (без подколов - интересно просто)
Соловьев (2003-05-28 13:51:00) [31]
> Бррр... можно спросить чем это удобней? Создавать в памяти
> весч, которая не нужна
я при использую при написании скриптов. неудобств не ощутил.
зато выгоды много.
Max Zyuzin (2003-05-28 13:36:00) [32]>vajo (28.05.03 13:33)
Бррр... можно спросить чем это удобней? Создавать в памяти весч, которая не нужна... ИМХО. Да и кстати согласен что BDE сюда лучше не прикручивать.
vajo (2003-05-28 13:33:00) [33]Попробовал использовать TADOQuery - там можно указать имя и пароль, но теперь он при запуске ругается
"Project Pr.exe raised exception class EOleSysError with message "не бал произведен вызов CoInitialize". Alias: test". Process stopped."
Что это CoInitialize и что с этим делать?
>Max Zyuzin
Так мне кажется удобней.
Соловьев (2003-05-28 13:26:00) [34]ИМХО, для MS SQL лучше использовать родную технологию ADO без BDE.
Zelius (2003-05-28 13:22:00) [35]Тебе нужен не только TQuery, но и TDatabase, у которого надо отключить LoginPrompt := False; а юзера и пароль передавать чеерз TDatabase.Parameters
Max Zyuzin (2003-05-28 12:47:00) [36]>vajo (28.05.03 12:35)
А зачем тебе DataModule? Может TDataBase создать какой нить?