Главная страница
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.049 c
1-1078835234
vin
2004-03-09 15:27
2004.03.28
Перенаправление вывода не в файл, а в поток в память


14-1077775428
Hooch
2004-02-26 09:03
2004.03.28
извлечение иконок из Офиса


14-1077926598
oleg_SYS
2004-02-28 03:03
2004.03.28
Продажа программ


1-1078922901
Max
2004-03-10 15:48
2004.03.28
Как узнать, содержит ли строковая переменная дробное число.


1-1078335025
Merry
2004-03-03 20:30
2004.03.28
Цифры в слова