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

Вниз

dbExpress и MSSQL   Найти похожие ветки 

 
Asdor   (2004-01-23 13:43) [0]

Здравствуйте, мастера.

При работе с TSQLConnection и TSQLDataset (в Delphi 7) с Борландовским драйвером для MSSQL (последняя версия, которую я нашел - dbexpmss.dll 7.0.2.113 от 10 октября 2002 г., 7:01:00) в рантайме не открывается больше одного набора данных (хотя MaxStmtsPerConn=0). Выдает код ошибки 16389, текст ошибки #10#10.
В дизайне - открывается.
Это драйвер триальный? или глюк?

Есть ли бесплатные рабочие драйвера для dbExpress и MSSQL?
Если есть, то где их взять?

Спасибо.


 
Desdechado ©   (2004-01-23 13:52) [1]

поищи на bdn.borland.com


 
Asdor   (2004-02-24 18:39) [2]

Искал. Та самая последняя dll"ка - отуда.

Нашел еще dbxsda, но он платный...
Бесплатная версия выдает не более 6 полей из запроса.
Вот и вопрос - может кто пользуется бесплатной рабочей
версией и поделится... :)


 
Desdechado ©   (2004-02-24 18:53) [3]

а как ты из одного SQLDataset пытаешься одновременно 2 набора получить?


 
tesseract ©   (2004-02-25 09:29) [4]

Какие наборы данных? TSQLConnection - это соединение с базой данных, на него навешивается TSQLTable/TSQLDataSet - каждый из них пердоставляет доступ к ОДНОЙ таблице.


 
Asdor   (2004-02-25 10:45) [5]

Пример кода:
Кто-то снаружи вызывает метод объекта класса TClassMetadata.LoadClasses...

procedure TClassMetadata.LoadClasses(Connection:TSQLConnection; ClassId:Integer=-1);
var Query:TCustomSQLDataSet;
   AClass:PClassRecord;
   SQLStr:String;
   Idx:Integer;
begin
 If Assigned(Connection) then
 begin
   Query:=nil;
   SqlStr:="Select * from CLASSES";
   If ClassId<>-1 then
     SqlStr:=SqlStr+" where CLASS_ID="+IntToStr(ClassId);
   Connection.Execute(SqlStr, nil, @Query);
   if Assigned(Query) then
   try
     ... Какие-то полезные действия по заполнению AClass^...
     Далее вызывается процедура подгрузки атрибутов класса...
     LoadClassAtributes(Connection, AClass);
   finally
     Query.Free;
   end;
 end;
end;

procedure TClassMetadata.LoadClassAtributes(Connection:TSQLConnection; AClass:PCLassRecord);
var Query:TCustomSQLDataSet;
   Atr:PAtributeRecord;
   SqlStr:String;
   Idx:Integer;
begin
 If Assigned(Connection) and Assigned(AClass) then
 begin
   SqlStr:=Format("SELECT * FROM CLASS_ATRIBUTES "+
                  "WHERE CLASS_ID=%d "+
                  "ORDER BY CLASS_ATRIBUTE_NUMBER",[AClass^.ClassID]);
   Query:=nil;

-- Exceptinon здесь... Connection.Execute(SqlStr, nil, @Query);
   If Assigned(Query) then
   try
     ... Полезные действия
   finally
     Query.Free;
   end;
 end;
end;


 
Asdor   (2004-02-25 10:50) [6]

Еще... Получающиеся запросы - нормальные и спокойновыполняются в QueryAnalyser.
Если использовать другой SQL-driver (dbxsda.dll) - тоже все выполняется нормально, но он триальный (возвращает не больше 6 полей из запроса)...


 
Desdechado ©   (2004-02-25 11:04) [7]

TCustomSQLDataSet

Description

TCustomSQLDataSet encapsulates the properties, events, and methods for working with data accessed through dbExpress. Applications should not instantiate TCustomSQLDataSet objects. Instead, instantiate one of the descendant classes.


 
Artem03   (2004-02-25 11:10) [8]

Могу предложить только одно - используй компоненты с закладки
ADO. За 2 года никаких проблем замечено не было.


 
Asdor   (2004-02-25 11:33) [9]

To Desperado:
я его и не инстанцианирую... его мне даёт TSQLConnection... :)

To Artem0:
Да, видимо на АДО и придется переходить, если не купим платный драйвер... :) Хорошо хоть пока немного переписывать...



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

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

Наверх




Память: 0.49 MB
Время: 0.021 c
8-1068627723
claus
2003-11-12 12:02
2004.03.28
рисование линий на Canvas-e любой формы, задаваемые шаблоном


1-1078647630
bjohny
2004-03-07 11:20
2004.03.28
Утечка памяти


3-1077696063
Asdor
2004-02-25 11:01
2004.03.28
Про TClientDataset...


9-1060691784
Legafor
2003-08-12 16:36
2004.03.28
Оцените мою игру, пожалуйста!


3-1077905870
Zilog
2004-02-27 21:17
2004.03.28
расчеты на основе данных из базы данных. SQL.