Форум: "Базы";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];
ВнизSQL DMO Найти похожие ветки
← →
Hooch © (2004-04-06 08:00) [0]День добрый !
Господа, столкнулся с проблемой, суть такая: импортировал библиотеку типов SQL DMO 8.0, пытаюсь соединится с сервером:
with TSQLServer2.Create(Self) do
begin
Connect;
DefaultInterface.LoginTimeout := -1;
DefaultInterface.LoginSecure := true;
DefaultInterface.AutoReConnect := false;
DefaultInterface.Connect("(local)", EmptyParam, ptyParam);
.....
end;
на строке Connect получаю ошибку [SQL DMO] code execution exception: EXCEPTION_ACCESS_VIOLATION
если написать так:
CreateOleObject("SQLDMO.SQLServer").QueryInterface(IID__SQLServer, int);
int.LoginTimeout := -1;
int.LoginSecure := true;
int.AutoReConnect := false;
int.Connect("(local)", EmptyParam, EmptyParam);
...
то соединение успешно, проблема в том что нужно сделать через компонет оболочку, в чем может быть пролема неработоспособности кода ?
← →
Hooch © (2004-04-06 08:02) [1]во втором примере вместо IID__SQLServer -> IID__SQLServer2
← →
nikkie © (2004-04-06 14:09) [2]у меня на D6 AV не возникает. а в чем смысл вызова Connect? это ведь вовсе не подключение к SQLServer-у (тот метод переименован дельфийским генератором TLB->PAS в Connect1).
лично я, если нет нужды работать с событиями COM-объектов, предпочитаю библиотеку типов импортировать, убирая галочку "Generate components wrapper". в этом случае код выглядит так
var
server: _SQLServer2;
begin
server := CoSQLServer2.Create;
server.Connect("(local)", EmptyParam, EmptyParam);
...
← →
Hooch © (2004-04-06 15:08) [3]При вызове Connect подключаются события. Но что есть Connect что его нет ошибка все равно лезет. Сделал без враппера, "прилепил" события, вроди все работает.
Всем спасибо ! :-)
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.035 c