Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / пакетная загрузка данных на SQL / 8 сообщений из 8, страница 1 из 1
24.11.2006, 14:33
    #34153661
nova
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
пакетная загрузка данных на SQL
Добрый день!
Есть большой dbf, порядка 1 млн. записей. Необходимо выгрузить на сервер эти данные. По одной как-то долго будет.
Как можног сделать это?
Спасибо!
...
Рейтинг: 0 / 0
24.11.2006, 14:36
    #34153682
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
пакетная загрузка данных на SQL
Читай про BULK INSERT в BOL
...
Рейтинг: 0 / 0
24.11.2006, 15:11
    #34153855
alex11100
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
пакетная загрузка данных на SQL
у лисы есть Upsizing Wizard
если у Вас 9, то можно скачать новый для Седны (более удобный и с наворотами)
...
Рейтинг: 0 / 0
24.11.2006, 15:15
    #34153877
alex11100
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
пакетная загрузка данных на SQL
в опциях экспорта
поставить галку на

Use bulk insert for fast data upload
...
Рейтинг: 0 / 0
25.11.2006, 13:23
    #34155277
nova
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
пакетная загрузка данных на SQL
Мне бы хотелось сделать это из программы. Указать источник и куда выгрузить
...
Рейтинг: 0 / 0
25.11.2006, 13:55
    #34155297
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
пакетная загрузка данных на SQL
novaМне бы хотелось сделать это из программы. Указать источник и куда выгрузить
Попробуй help на MS-SQL (BOL) почитать или книжку какую про команду BULK INSERT (Transact-SQL) делает именно то, что тебе надо, быстро и из программы. Только сначала твою таблицу надо в текстовый файл перегнать.
Писать много как конкретно это делать. В простейшем варианте так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
* перегоняешь свой DBF в MyFile.txt поля в том же порядке, что и на SQL сервере, разделитель табуляция

pnSQL = SQLStringConnect("Driver={SQL Server};SERVER=твой сервер;DATABASE=твоя база;UID=пользователь;Pwd=пароль")
if sqlexec(pnSQL, "bulk insert MyTable from '[path]\MyFile.txt' with (CODEPAGE = 'RAW', CHECK_CONSTRAINTS)") >=  0 
	? 'Ok'
endif

...
Рейтинг: 0 / 0
25.11.2006, 15:38
    #34155369
Aleksey-K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
пакетная загрузка данных на SQL
novaМне бы хотелось сделать это из программы. Указать источник и куда выгрузить
При реализации метода, который тебе советует использовать Dima T , учти, что [path] дается относительно сервера, а не твоей рабочей станции. Можно использовать UNC, но тогда не забудь про права на сетевой ресурс для того пользователя, от имени которого стартует сервер.
С уваженим, Алексей.
...
Рейтинг: 0 / 0
25.11.2006, 21:54
    #34155603
ORAselect
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
пакетная загрузка данных на SQL
Если на сервере тоже dbf, тогда:
1. Создать удаленное представление
2.
use ExportDbf in 0
use RemView in 0
sele RemView
append from ExportDbf
tableupdate()

Messagrbox('ALL OK!')
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / пакетная загрузка данных на SQL / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]