![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Paradox таблицы в SQl используя ADO [D5, Paradox]
VoronBor © (2003-04-28 02:56:00)Есть БД парадох test.db . Хочу использовать PivotTable (из Microsoft Office Web Components). Соответственно хочу связать БД с PivotTable Для этого делаю:
P : Variant;
………….
OleContainer1.CreateObject("OWC.PivotTable.9",False);
P := OleContainer1.OleObject;
P.ConnectionString := "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\;Extended Properties=Paradox 7.x; Mode=Read|Write|Share Deny None;Persist Security Info=True";
PT.CommandText := "SELECT * FROM [Paradox 7.x;DATABASE=D:\].[test#DB]";
ConnectionString – правильная (точнее рабочая…), я ее в с ADOTabl проверял. А вот CommandText явно не правильная…
Помогите плиз, как при использование ADO обращаться к БД парадох?
sniknik (2003-04-28 23:52:00) [1]ну судя по той ошибке что он мне выдал то хочется ему именно OLE DB, и прямая тебе дорога (если именно так работать вынужден/хочется) на Access(mdb)/MSSQL базы тк. именно под них/в связке OLE DB делался и поддерживают/будут поддерживать все его спецификации. а IB если даже найдеш (думаю возможно) эти самые OLE DB драйвера, то гарантий по всем спецификациям не будет т.к. будут они "левые", т.е. не от микрософта кто эти специфекации разрабатывает и которые собственно "правые" (не путать с "лутше" "хуже"!).
все это как сам должен понимать, жестокое ИМХО и не в форме утверждения. сам думай.
VoronBor (2003-04-28 22:25:00) [2]>??? зачем перевирать?? ты по идее должен стремится исправить ошибку а не затруднить >поиск.
Да нет, именно так и пишет. Что меня и насторожило – думал что запрос не правильно составил.
>попробуй так, (как минимум откроется)
Спасибо добрый человек! Заработало. :)
>PT.CommandText:= "SELECT * FROM [Paradox 7.x;DATABASE=D:\].[car#DB]"; //а зачем >собственно именно парадокс?
Да вот и я думаю что надо на IB или FB переходить – оно мне в наследство досталось. :)
Только вот где достать АДО провайдера для IB? Имхо нужен же он?
Или я что-то принципиально не понимаю. С АДО вообще не работал… :-\
Еще раз спасибо - хоть как то работает, теперь можно уж не спеша думать как надо корректно. :)
sniknik (2003-04-28 21:39:00) [3]> «Источник данных не определен»
он его хчет "видеть" в CommandText (источник)
> А если с не, то: The initialization string specified does not conform to specificiation
??? зачем перевирать?? ты по идее должен стремится исправить ошибку а не затруднить поиск.
должно звучать так. "Format of the initialization string does not conform to the OLE DBspecificiation" (нужен "чистый" OLE DB коннект, ну судя по ошибке, ну не хочет он с доп.параметрами работать.
попробуй так, (как минимум откроется)
var
PT : Variant;
begin
OleContainer1.CreateObject("OWC.PivotTable.9",False);
PT := OleContainer1.OleObject;
PT.ConnectionString:= "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= D:\Base.Mdb;Persist Security Info=False"; //любой пустой
PT.CommandText:= "SELECT * FROM carIN "D:\" "Paradox 7.x;"";
или равнозначное
PT.CommandText:= "SELECT * FROM [Paradox 7.x;DATABASE=D:\].[car#DB]"; //а зачем собственно именно парадокс?
With OleContainer1 do Begin
AutoActivate:= aaManual;
DoVerb(ovShow);
End;
end;
VoronBor (2003-04-28 20:11:00) [4]> sniknik © (28.04.03 17:03)
Извиняюсь что ошибку не привел - знаю же что телепаты в отпуске.. :)
Да собственно говоря особо и негде то глюк искать… Вот полный текст.
var
PT : Variant;
begin
// создаем объект
OleContainer1.CreateObject("OWC.PivotTable.9",False);
PT := OleContainer1.OleObject;
// заполняем свойства
PT.ConnectionString := "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\;Extended Properties=Paradox 7.x; Mode=Read|Write|Share Deny None;Persist Security Info=True";
PT.DataMember:="[Paradox 7.x;DATABASE=D:\].[car#DB]";
// открываем
With OleContainer1 do
Begin
AutoActivate:= aaManual;
DoVerb(ovShow);
End;
end;
Беда явно в PT.DataMember:="[Paradox 7.x;DATABASE=D:\].[car#DB]";
если ее закомментировать, то компилируется и в PivotTable написано
«Источник данных не определен»
А если с не, то: The initialization string specified does not conform to specificiation
Вот я и думаю, может не так написал..
sniknik (2003-04-28 17:03:00) [5]> PT.CommandText := "SELECT * FROM [Paradox 7.x;DATABASE=D:\].[test#DB]";
> А вот CommandText явно не правильная…
правильная (если конечно именно в таком виде в программе стоит). ищи глюк в программе. особое внимание на ощибку какую выдает при Open (и которую не приводиш).
Гость (2003-04-28 16:07:00) [6]Может быть
SELECT * FROM [Paradox 7.x;DATABASE=D:\].[test.DB] ?
Но не уверен