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

Вниз

Есть ли альтернативные способы сброса таблицы MSSQL в Paradox?   Найти похожие ветки 

 
Aleksandr ©   (2003-04-08 15:05) [0]

У меня таблицы хранятся на MS SQL Server. По запросу пользователя они скидываются в таблицы Парадокс. Берется шаблонная парадоксовая таблица, копируется в папку на выход, создается динамический TTable, и потом по-записьно в нее ведется запись из MS SQL ADOQuery. Но у этого способа есть ряд недостатков, в частности, парадоксовой таблице, например, надо делать перед началом записи FieldDefs.Update, а при вызове этого метода почему-то периодически происходит зависание обрабатывающего потока (причем вне зависимости от обработки try..finally, try...except). Ну и истчо бывают глюкавости. Есть какая-то альтернатива такой работе с БДЕ?


 
sniknik ©   (2003-04-08 15:22) [1]

и довольно много.

но лутше использовать средства самого MSSQL (DTS к примеру) или линк сервер, или (мне больше нравится) запросы к OPENDATASOURCE ,изначально таблицу надо сделать или скопировать как у тебя а после простой запрос INSERT INTO OPENDATASOURCE...

посмотри в Bol.


 
Aleksandr ©   (2003-04-08 15:58) [2]

2 sniknik ©:

Будьте добры, а нельзя ли ссылку на описание работы по OpenDataSource или что-нибудь по-детальнее?


 
sniknik ©   (2003-04-08 16:12) [3]

у тебя MSSQL стоит? там есть Books Online, запусти набери в указателе OpenDataSource ... самое детальное описание

оттуда примеры
Examples
This example accesses data from a table on another instance of SQL Server.

SELECT *
FROM OPENDATASOURCE(
"SQLOLEDB",
"Data Source=ServerName;User ID=MyUID;Password=MyPass"
).Northwind.dbo.Categories

This is an example of a query against an Excel spreadsheet through the OLE DB provider for Jet.

SELECT *
FROM OpenDataSource( "Microsoft.Jet.OLEDB.4.0",
"Data Source="c:\Finance\account.xls";User ID=Admin;Password=;Extended properties=Excel 5.0")...xactions


второй тебе почти подходит, немного исправить под парадокс, примерно так

INSERT INTO OpenDataSource("Microsoft.Jet.OLEDB.4.0", "Data Source="d:\";Extended properties=Paradox 4.x")...temp_mvu (a, b) VALUES (5,"Test String")

и готово (почти), осталось изменить на не позаписьный инсерт а пакетный из таблици и все (но это думаю и сам сможеш)


 
Aleksandr ©   (2003-04-08 16:23) [4]

Большое спасибо! Счас попробую... Только один вопрос - а Парадокс он только 4.х поддерживает? А то у меня таблицы 7.0.


 
sniknik ©   (2003-04-08 16:26) [5]

седьмой последний (пока), ставь Paradox 7.x".


 
Aleksandr ©   (2003-04-08 16:45) [6]

Млин, ругается... пишу:
INSERT INTO OpenDataSource("Microsoft.Jet.OLEDB.4.0","Data Source="C:\RI\Bases\firms.db";Extended properties=Paradox 7.x")...SELECT * FROM Firms

Что-то не так?


 
Aleksandr ©   (2003-04-08 16:58) [7]

Сорри, не то вписал. Пишу вот так:

INSERT INTO OpenDataSource("Microsoft.Jet.OLEDB.4.0","Data Source="D:\RI\Bases\";Extended properties=Paradox 7.x")..."Firms.db" SELECT * FROM [dbo].RI.firms

Сообщает:
OLE DB provider "Microsoft.Jet.OLEDB.4.0" does not contain table "Firms.db". The table either does not exist or the current user does not have permissions on that table.

Хотя на СКулу доступ у меня виндовый, а на парадокс паролей и нет.


 
Aleksandr ©   (2003-04-08 17:10) [8]

Во млин... что-то вообще не срастается - убрал расширение, все отлично, а по выполнении говорит:

OLE DB provider "Microsoft.Jet.OLEDB.4.0" reported an error.
[OLE/DB provider returned message: Invalid operation.]


 
sniknik ©   (2003-04-08 17:27) [9]

да в общем с виду запрос правильный (исключая кавычки, привычка с Local SQL?) хотя ругается на неправильный оператор.

попробуй так (подключение к базе из которой копируеш, в смысле не к master или какой еще)
INSERT INTO OpenDataSource("Microsoft.Jet.OLEDB.4.0","Data Source="D:\RI\Bases";Extended properties=Paradox 7.x")...Firms SELECT * FROM firms

и еше на разных таблицах попробуй посмотреть зависит нет.



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

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

Наверх




Память: 0.49 MB
Время: 0.011 c
14-77146
Uncle Archi
2003-04-07 20:34
2003.04.24
Арифметика.


14-77137
nikkie
2003-04-06 23:46
2003.04.24
Сетевые настройки для дома/офиса


3-76846
Term
2003-04-07 11:53
2003.04.24
Индексные поля


1-76885
Still Swamp
2003-04-14 09:46
2003.04.24
TCollection и TCollectionItem


3-76771
Clickmaker
2003-04-04 13:09
2003.04.24
deadlock на MS SQL 2000