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

Вниз

Формирование CREATE TABLE   Найти похожие ветки 

 
John Kayfolom   (2002-05-16 13:30) [0]

Необходимо сформировать SQL запрос на создание таблицы (в MSSQL2000), на основе имеющихся данных в открытой ADOTable (она может смотреть на DBF или еще куда).
Сейчас делаю тупо - читаю ADOTable.Fields.Fields[I].DataType,
и подставляю соответственные типы полей MSSQL в "CREATE TABLE ...".
Может кто видит более красивый путь? Или имеет готовый компонент?
Заранее благодарю.


 
sniknik ©   (2002-05-16 13:52) [1]

запросом SELECT INTO, сама создаст.


 
John Kayfolom   (2002-05-16 17:52) [2]

2 sniknik
Это понятно, на SQL сервере это без проблем, но как я это сделаю в моей проге? Может непонятно объяснил, вот более конкретно:
надо из ADOTable->ADOConnection->Microsoft.Jet.OLEDB.4.0
->MyTable.dbf поиметь структуру MyTable.dbf и создать аналогичную таблицу в ADOConnection->SQLOLEDB.1->
SQLSERVER->pubs.
DTS не подходит по неким причинам...


 
sniknik ©   (2002-05-16 18:01) [3]

да нет все понятно и вариантов решения просто масса
вот мне нравится (не надо линков делать и от глюка одного избавляет)
в подкключении ADOConnection->SQLOLEDB.1->SQLSERVER->pubs. вызови SQL запрос (таблици свои поставь)

SELECT * INTO CashSail
FROM OpenRowset("MSDASQL.1", "Driver={Microsoft dBase Driver (*.dbf)};DBQ=D:\Work\Zip;", "select * from CashSail")

правда здесь драйвер ODBC но при желании можно и Microsoft.Jet.OLEDB.4.0 использовать (вначале так и делал пока глюк не поймал, не возвращалась память после запроса и хендлы в системе росли до повисания)


 
John Kayfolom   (2002-05-16 18:36) [4]

А разве "D:\Work\Zip" он будет искать не на том же серваке где располагается SQLсервер?


 
John Kayfolom   (2002-05-16 18:41) [5]

Что-то не пойму, запрос
SELECT * INTO ZARPL
FROM
OpenRowset(
"Microsoft.Jet.OLEDB.4.0",
"Data Source="C:\TEMP";Extended Properties=dBase III;Persist Security Info=False",
"select * from ZARPL")
выдает ошибку
OLE DB provider "Microsoft.Jet.OLEDB.4.0" reported an error.
[OLE/DB provider returned message: Could not find installable ISAM.]
Голова уже не варит... :(



 
sniknik ©   (2002-05-16 19:10) [6]

А разве "D:\Work\Zip" он будет искать ..
Именно на том, где сервер и пути от него стоится должны.

Could not find installable ISAM
говорит о том что у тебя не установлен Jet на той машине где пытается выполнить, похоже на сервере. (MSSQL оттуда выполняется)
значит нужно установить MDAC + JET.

либо исам неправильно прописан "dBase III" сравни это в реестре с ISAM форматами Jet-а (это вряд ли, такой точно есть)

а проще используй мою строку с ODBC. Только проверь (там же на сервере) есть там такой драйвер. Это в настройках ODBC вкладка Drivers. Но скорее всего есть его микрософт везде пихает последнее время.

(согласен тут путаница получается, привыкнуть надо, изза того что это не ты это запускаеш а вроде как MSSQL об этом просиш и он обращается к JET, ODBC. поэтому все от него надо считать)


 
John Kayfolom   (2002-05-25 15:24) [7]

Сделал все таки по своему... Составил таблицу соответствия типов MSSQL<->DBF и создаю CREATE TABLE...
Вот может у кого есть информация о других базах? VFP, Access, Paradox? Уж очень лениво самому все выдирать....


 
AVP   (2002-06-14 10:13) [8]

Please help me if you can!

Пытаюсь в D5 с помощью DAO сжать базу Access.
При выполнении CompactDatabase возникает Error:Could not find installable ISAM.
Как справиться с этой ошибкой?



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

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

Наверх




Память: 0.48 MB
Время: 0.014 c
4-23848
Eugene_Jek_Efimochkin
2002-04-28 01:23
2002.07.08
отследить изменения в файлах и папках локального компьютера


4-23852
lab
2002-05-08 11:35
2002.07.08
перезагрузить при наличии TNMUDP


14-23773
SPeller
2002-06-06 10:29
2002.07.08
Компилятор Дельфей


3-23470
Alex_R
2002-06-14 16:21
2002.07.08
Как увеличить timeout в ADO


1-23599
Игнат
2002-06-24 16:35
2002.07.08
Помогите с потоками