Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.02.03;
Скачать: [xml.tar.bz2];

Вниз

Вставка результата запроса из DBF в MSSQL   Найти похожие ветки 

 
Stas ©   (2008-01-04 15:34) [0]

С помощью JET :)
Используя JET я подключаюсь к DBF файлику, можно ли выполнить INSERT INTO в таблицу MSSQL ?


 
Iskander ©   (2008-01-04 16:38) [1]

Пофиг чем подключаешься к DBF-файлику. Insert в таблицу БД всегда можно сделать. В чем собственно вопрос?


 
Johnmen ©   (2008-01-04 16:52) [2]

Вопрос предельно ясен - автору нужен гетерогенный запрос.
Как это в JET помнит один sniknik. :)


 
Anatoly Podgoretsky ©   (2008-01-04 16:59) [3]

Можно


 
Stas ©   (2008-01-04 17:06) [4]

Johnmen ©   (04.01.08 16:52) [2]
Я как раз надеялся на него...
Anatoly Podgoretsky ©   (04.01.08 16:59) [3]
А каким образом? помню что нужно прописать строку подключения к MSSQL, но вот как?


 
sniknik ©   (2008-01-04 17:06) [5]

нет.
подключение к dBase Jet делает через исам dBase, если ты подключился непосредственно к dBase то находишься как бы внутри исама, а к MSSQL нужно обращение к другому (ODBC), а обращения между исамами не допускаются (исключая Excel, понятно думаю почему (иначе бы невозможно было из него выгрузить в dbf/и тд.))
в общем, резюме, находясь "внутри" исама  dBase ты можеш делать запросы только к Access (родному ядру Jet) и Excel.
"внутри" Access или Excel можно практически к любой базе, в том числе и перекрестно обращаяссь к разным исамам т.е. в твоем случае из dBase в MSSQL.

имхо, лучше конечно подключится к MSSQL и использовать его возможности. (OPENROWSET/OPENDATASOURCE/линкед сервер/...)  

> Пофиг чем подключаешься к DBF-файлику.
не говорите о чем не знаете.  то чем подключаешься, движок, важнейшая вещь. одна из "центровых" я бы сказал. возможности одного движка <> возможностям другого. никогда. похожи бывают, но всегда чемто отличаются даже если работают с одним типом таблиц.


 
sniknik ©   (2008-01-04 17:07) [6]

> Как это в JET помнит один sniknik. :)
не думаю, есть еще тот кто это написал... ;о).


 
Stas ©   (2008-01-04 17:23) [7]

sniknik ©   (04.01.08 17:06) [5]
Силами MSSQL не получится т.к. экспорт выполняется на клиентской машине из приложения (пользователь указал файлик и перекачал его).
Сейчас это делается открываю в одном запросе dbf, формирую строку
Insert into Mytable Select ... Union Select.... И выполняю с помощью ADOCommand подключенного к MSSQL.
Хотелось бы упростить приложение.


 
sniknik ©   (2008-01-04 17:26) [8]

Anatoly Podgoretsky ©   (04.01.08 16:59) [3]
> Можно
все таки нет. проверил.
(тут только помнить не достаточно, мало ли, что они там на изменяли с тех пор как в последний раз проверял... а был тогда у Jet-а SP6, а счас уже... х.з. после 8го и не смотрел (может этот последний))


 
sniknik ©   (2008-01-04 17:31) [9]

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


 
Stas ©   (2008-01-04 17:44) [10]

Да можно и просто по циклу. Просто сталкивались уже несколько раз, то символ непонятный, запрос не срабатыват, то двоеточие как параметр определяется, то вместо точки запятая, то 1 одинарная кавычка...


 
sniknik ©   (2008-01-04 17:52) [11]

> то символ непонятный
> то вместо точки запятая
> о 1 одинарная кавычка...
параметры надо использовать, а не составлять гигантские запросы с "все включено в".


 
DimonS   (2008-01-05 04:49) [12]

ADOCom.CommandText:="INSERT INTO Svod ( Tn, Summa1, [Number], PL, Repair ) IN """+ini.ReadString("BD","BD","")+"\bonus.mdb"" SELECT P60, ZO, P57, P73, ZRE FROM [Zar_TN.dbf] IN """+ExtractFilePath(ParamStr(0))+"""[dBase IV;]";
ADOCom.Execute;


Ну такой код работает, правда, копирование из dBase в Access. В MSSQL не сработает?


 
sniknik ©   (2008-01-05 11:55) [13]

> Ну такой код работает, правда, копирование из dBase в Access. В MSSQL не сработает?
Access - основное ядро, dBase - исам, дочерняя ветка, MSSQL(ODBC) еще один исам.
почитай [5], или если читал, перечитай на этот раз внимательно.


 
Anatoly Podgoretsky ©   (2008-01-05 12:07) [14]


> sniknik ©   (04.01.08 17:26) [8]
> Anatoly Podgoretsky ©   (04.01.08 16:59) [3]
> > Можно
> все таки нет. проверил.

Как же нет, сам же написал OPENROWSET/OPENDATASOURCE/линкед сервер
dBase это один из основных форматов при экспорте/импорте. Вариантов работы просто множество. Не говоря уже о рабоче крестьянском методе построчного чтения из одного источника и построчной записи в другой источник.


 
sniknik ©   (2008-01-05 13:51) [15]

> Как же нет, сам же написал OPENROWSET/OPENDATASOURCE/линкед сервер
так это из подключения к MSSQL, т.е. когда работает его сервер, а ему хочется из подключения даже не к Access-у (было бы возможно), а к подчиненному от аксесса исаму - dBase у которого только один "канал" назад к родительскому Access-у(/Excel-ю) и нет доступа к другим исамам.

> Не говоря уже о рабоче крестьянском методе построчного чтения из одного источника и построчной записи в другой источник.
ну, вот только это и остается, если не менять чтото в корне (например работать с другим подключением/типом базы)
но это уже будет не одно командный insert into ... select ... from ... для всех записей таблицы. (а хочется ему именно этого)


 
sniknik ©   (2008-01-05 13:58) [16]

[0]
> Используя JET я подключаюсь к DBF файлику
т.е. подключение у него вида
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\;Extended Properties=dBase IV;Persist Security Info=False
вот из него и нужен гетерогенный запрос с участием MSSQL.
выделенное означает, что откроется ядро Jet и далее управление перейдет к "под ядру" dBase... что это значит см. выше. :)


 
MsGuns ©   (2008-01-05 14:35) [17]

DTS MsSQL Server



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

Форум: "Начинающим";
Текущий архив: 2008.02.03;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.045 c
15-1198420727
Фразы...
2007-12-23 17:38
2008.02.03
Запоминание фраз в броузере...


15-1198530408
Владимир
2007-12-25 00:06
2008.02.03
Не загружается Windows XP


2-1199350168
Xmen
2008-01-03 11:49
2008.02.03
Error while posting updates


8-1173015027
ы
2007-03-04 16:30
2008.02.03
ошибка


11-1182779412
max727
2007-06-25 17:50
2008.02.03
KOLComObj





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский