Форум: "Базы";
Текущий архив: 2002.07.08;
Скачать: [xml.tar.bz2];
ВнизФормирование 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.007 c