Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / как отправить данные из DBF-а в таблицу MSSQL ? / 25 сообщений из 28, страница 1 из 2
06.07.2006, 14:53
    #33835778
Dr.Lee
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отправить данные из DBF-а в таблицу MSSQL ?
Добрый день,
не знаю как заинсертить данные из фоксовской таблицы в MSSQL-ю ?


пытался так:

авторgncn_sql = SQLSTRINGCONNECT('dsn=dsnname;uid=sa;pwd=sa')
IF gncn_sql < 0
= MESSAGEBOX('Не могу', 16, 'Не могу!!!')
RETURN
ELSE
= MESSAGEBOX('Могу', 16, 'Могу')
ENDIF

SELECT * FROM Tab1 INTO CURSOR ToMSSQL

lcSQLcommand = "Insert into table ДАЛЬШЕ НЕ ЗНАЮ "

SQLEXEC(gncn_sql, lcSQLcommand)
...
Рейтинг: 0 / 0
06.07.2006, 14:57
    #33835798
alex11100
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отправить данные из DBF-а в таблицу MSSQL ?
есть несколко способов
самый быстрый балк инсертом

самый простой - поднять пустой курсорадаптер
накачать его
и сделать апдейт на сервер

самый тупой -сканить по курсору и инсертить на сервер
...
Рейтинг: 0 / 0
06.07.2006, 15:06
    #33835846
Dr.Lee
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отправить данные из DBF-а в таблицу MSSQL ?
я ваще в фоксе не силён
самый простой способ меня бы устроил :)

предположим у меня на MS сервере есть таблица TEST(поле1, поле2)
и в фоксе тоже таблица Tab1(поле1, поле2)

вот как теперь поднять этот курсорадаптер и накачать его ?
...
Рейтинг: 0 / 0
06.07.2006, 15:15
    #33835887
alex11100
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отправить данные из DBF-а в таблицу MSSQL ?
поищи поиском
или на фоксклабе

здесь был пример

читай в хелпе про курсорадаптер
это объект
прописываешь ему свойства
затем его методы дергаешь
...
Рейтинг: 0 / 0
06.07.2006, 15:26
    #33835930
Dr.Lee
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отправить данные из DBF-а в таблицу MSSQL ?
спасибо, но ваще хотелось бы полный ответ ...;)
...
Рейтинг: 0 / 0
06.07.2006, 15:48
    #33836039
Aleksey-K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отправить данные из DBF-а в таблицу MSSQL ?
Если полный, то глянь, например тут: www.caws.atnet.ru/vfox или на форуме http://forum.foxclub.ru/list.php?29 было обсуждение недавно.
С уважением, Алексей
...
Рейтинг: 0 / 0
07.07.2006, 08:14
    #33837179
Dr.Lee
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отправить данные из DBF-а в таблицу MSSQL ?
Aleksey-KЕсли полный, то глянь, например тут: www.caws.atnet.ru/vfox или на форуме http://forum.foxclub.ru/list.php?29 было обсуждение недавно.
С уважением, Алексей

Полного ответа так и не нашёл :(
может кто вкратце объяснит последовательность действий по разрешению данной пролемы.

С курсорадаптером чуток подскажите а?
...
Рейтинг: 0 / 0
07.07.2006, 09:29
    #33837271
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отправить данные из DBF-а в таблицу MSSQL ?
Ну, давай сначала научимся по "рабоче-крестьянски"

Твой код.

Код: plaintext
1.
2.
3.
4.
5.
6.
gncn_sql = SQLSTRINGCONNECT('dsn=dsnname;uid=sa;pwd=sa')
IF gncn_sql <  0 
= MESSAGEBOX('Не могу',  16 , 'Не могу!!!')
RETURN
ELSE 
= MESSAGEBOX('Могу',  16 , 'Могу')
ENDIF

оставляем, а это переделаем малёк


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
SELECT f1, f2, f3,... FROM Tab1 INTO CURSOR ToMSSQL

* переведем соединение в "ручной режим"
SQLSETPROP(gncn_sql, 'Transaction',  2 )
SELECT ToMSSQL
SCAN

lcSQLcommand = "Insert into table (f1, f2, f3,...) values (?ToMSSQL.f1,?ToMSSQL.f2, ?ToMSSQL.f3,.......)" 

ENDSCAN

if SQLEXEC(gncn_sql, lcSQLcommand) >  0 
SQLCOMMIT(gncn_sql)
else
SQLROLLBACK(gncn_sql)
messagebox('Не всё в порядке в датском королевстве')
* смотрим ошибку
aerror(arr)
for i =  1  to alen(arr)
?arr(i)
endfor
endif
* возращаем соединение в режим автокоммита
SQLSETPROP(gncn_sql, 'Transaction',  1 )
...
Рейтинг: 0 / 0
07.07.2006, 09:39
    #33837290
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отправить данные из DBF-а в таблицу MSSQL ?
Фу елки палки, не туда ENDSCAN поставил надо перед строчкой, да и завершение транзакции не там стоит, переделаем

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
SELECT f1, f2, f3,... FROM Tab1 INTO CURSOR ToMSSQL

* переведем соединение в "ручной режим"
SQLSETPROP(gncn_sql, 'Transaction',  2 )
SELECT ToMSSQL
SCAN

lcSQLcommand = "Insert into table (f1, f2, f3,...) values (?ToMSSQL.f1,?ToMSSQL.f2, ?ToMSSQL.f3,.......)" 

if SQLEXEC(gncn_sql, lcSQLcommand) >  0 
else
SQLROLLBACK(gncn_sql)
messagebox('Не всё в порядке в датском королевстве')
* смотрим ошибку
aerror(arr)
for i =  1  to alen(arr)
?arr(i)
endfor
endif
* возращаем соединение в режим автокоммита
SQLSETPROP(gncn_sql, 'Transaction',  1 )
return
ENDSCAN

SQLCOMMIT(gncn_sql)


* возращаем соединение в режим автокоммита
SQLSETPROP(gncn_sql, 'Transaction',  1 )
...
Рейтинг: 0 / 0
07.07.2006, 09:56
    #33837336
Dr.Lee
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отправить данные из DBF-а в таблицу MSSQL ?
Вау, здорово, благодарствую...
только фокс ругается на строчку? говорит что "необходимо обязательное условие"

авторSELECT f1, f2, ... FROM Tab1 INTO CURSOR ToMSSQL

может версия фокса не та у меня 6.0, а у тебя ?
...
Рейтинг: 0 / 0
07.07.2006, 10:02
    #33837352
Dr.Lee
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отправить данные из DBF-а в таблицу MSSQL ?
ой запарился это запятая лишняя была ...
но далее возникла ошибка про королевство ...
и на этой строчке for i = 1 to alen(arr)

сказал Variable 'Arr' is not found ...
...
Рейтинг: 0 / 0
07.07.2006, 10:10
    #33837367
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отправить данные из DBF-а в таблицу MSSQL ?
Код: plaintext
aerror(arr)

замени на

Код: plaintext
= aerror(arr)

Ну за одно в хелп глянь
...
Рейтинг: 0 / 0
07.07.2006, 10:21
    #33837420
alex11100
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отправить данные из DBF-а в таблицу MSSQL ?
PaulWist?

ну зачем вы детей такому учите??
а я потом удивляюсь
почему народ по локалам сканит
и инсерты и делейты пишет

вот показали - теперь он всю жизнь так будет делать

ох

я ведь ему не показал ничего, только подтолкнул - думаю, ну пусть
подумает, может, что получится

ох
самый тупой способ - сканить по курсору и инсертить на сервер
а теперь тоже самое пусть сделает с курсором
метров на 50
...
Рейтинг: 0 / 0
07.07.2006, 10:33
    #33837478
Dr.Lee
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отправить данные из DBF-а в таблицу MSSQL ?
alex11100PaulWist?

ну зачем вы детей такому учите??
а я потом удивляюсь
почему народ по локалам сканит
и инсерты и делейты пишет

вот показали - теперь он всю жизнь так будет делать

ох

я ведь ему не показал ничего, только подтолкнул - думаю, ну пусть
подумает, может, что получится

ох
самый тупой способ - сканить по курсору и инсертить на сервер
а теперь тоже самое пусть сделает с курсором
метров на 50

ковырял вчера очень долго и не укладывается такой аргумент, хочется что бы MSSQL понимал мою ФОКСОВСКУЮ переменную(где есть или массив или же сама таблица)

Но вот незная правильных команд, не могу описать как это будет происходить,
например в Access идёт цикл по конкретной таблице и полям или же простым sql.execute запросом ...

Как это происходит в Фоксе ума не приложу :(
...
Рейтинг: 0 / 0
07.07.2006, 10:38
    #33837507
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отправить данные из DBF-а в таблицу MSSQL ?
alex11100

1. Автор топика с технологией VFP3 разобраться не может или не хочет.

2. Работать напрямую с таблицами данных - дурной тон.
2.1. Разрешая модифицировать данные на прямую, минуя свое приложение мы нарушаем безопасность данных и бизнес логику .

3. Как-то я тебе задавал вопрос, привести пример с использованием CA для заполнения трёх таблиц
Код: plaintext
1.
2.
Master(ID Identity Primary Key) 
- Details1(ID Identity Primary Key, MasterID Foreign Key REFERENCES Master (ID) ) 
  - Details2(ID Identity Primary Key, Details1ID Foreign Key REFERENCES Details1 (ID) ) 

PS просто для себя - попробуй.
...
Рейтинг: 0 / 0
07.07.2006, 11:18
    #33837705
alex11100
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отправить данные из DBF-а в таблицу MSSQL ?
окей,
но позже

закрома родины ждать не могут
тем более закрома тоже упираются
и доказывают, что
курсорадаптер - это ...
...
Рейтинг: 0 / 0
07.07.2006, 14:03
    #33838395
Dr.Lee
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отправить данные из DBF-а в таблицу MSSQL ?
может можно передать данные таблицы(из которой нужно вставить) во временную таблицу на сервер, а оттуда уже добавить средствами SQL сервера ?
...
Рейтинг: 0 / 0
07.07.2006, 14:05
    #33838405
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отправить данные из DBF-а в таблицу MSSQL ?
Ты, что так и не адаптировал приведенный код под свою задачу???
...
Рейтинг: 0 / 0
07.07.2006, 14:33
    #33838525
Dr.Lee
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отправить данные из DBF-а в таблицу MSSQL ?
PaulWistТы, что так и не адаптировал приведенный код под свою задачу???

не работает, так и не добавляет ни одной записи в таблицу ...
...
Рейтинг: 0 / 0
07.07.2006, 14:44
    #33838573
Dr.Lee
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отправить данные из DBF-а в таблицу MSSQL ?
начала диалог вылазиет предлагает ввести значение для поля ...
потом говорит о "проблемах в королевстве"
далее указывает на ошибку массива ошибки

автор = AERROR(arr)
for i = 1 to alen(arr)


а потом говорит: nesting error :(
...
Рейтинг: 0 / 0
07.07.2006, 14:46
    #33838582
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отправить данные из DBF-а в таблицу MSSQL ?
Ну, а ошибки какие говорот
...
Рейтинг: 0 / 0
07.07.2006, 15:16
    #33838687
Dr.Lee
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отправить данные из DBF-а в таблицу MSSQL ?
ура заработало :) всем спасибо ...
был невнимателен, поставил не то поле ... после исправления все заработало!
...
Рейтинг: 0 / 0
07.07.2006, 16:14
    #33838928
Valerii
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отправить данные из DBF-а в таблицу MSSQL ?
alex11100есть несколко способов
самый быстрый балк инсертом

самый простой - поднять пустой курсорадаптер
накачать его
и сделать апдейт на сервер

самый тупой -сканить по курсору и инсертить на сервер

Вопрос про курсор поднять: Это локальный курос? И как его заапдейтить на базу MS SQL 2000.
Спасибо..
...
Рейтинг: 0 / 0
07.07.2006, 16:17
    #33838937
alex11100
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отправить данные из DBF-а в таблицу MSSQL ?
смотри здесь поиском
мес 3 назад было бурное обсуждение
на много страниц
как проапдейтить курсор
...
Рейтинг: 0 / 0
07.07.2006, 16:22
    #33838956
alex11100
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отправить данные из DBF-а в таблицу MSSQL ?
/topic/265415&pg=3
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / как отправить данные из DBF-а в таблицу MSSQL ? / 25 сообщений из 28, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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