powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / массовое добаление записей в MS SQL
7 сообщений из 7, страница 1 из 1
массовое добаление записей в MS SQL
    #32664880
harr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Написал процедуру массового добавления данных из Views в SQL
используя SCAN
SCAN
Store SQLConnect('SQL') To gnConnHandle

strSQl=""
strSQl="UPDATE NACLSPEC "
strSQl=strSQl+"SET ShopIndex=?mShopIndex,InOut=?mInOut,HeadIndex=?mHeadIndex,CardArticul=?mCardArticul, "
strSQl=strSQl+ляляля

=SQLEXEC(gnConnHandle,strSQl)
=SQLDisconnect(gnConnHandle)

ENDSCAN
Кол-во записей >=100, но в какойто момент выходит окошко с просьбой подключиться с серверу (Логин и пароль) нажимаеш OK, и процесс идёт дальше. Пробывал SQLConnect() выносить перед SCAN, тоже самое.
Как это побороть? Кто как решает проблему массового добавления данных в SQL
...
Рейтинг: 0 / 0
массовое добаление записей в MS SQL
    #32665511
vklepko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Наверное в
Код: plaintext
Store SQLConnect('SQL') To gnConnHandle
gnConnHandle получает отрицательное значение...
Кто такой 'SQL' - ConnectionName или DataSourceName? Какие на нём свойства?
...
Рейтинг: 0 / 0
массовое добаление записей в MS SQL
    #32665640
Oskars
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
poprobui poljzovatsa etim: SQLPREPARE()

gcAuthor = 'Arnold'

= SQLPREPARE(gnConnHandle, 'SELECT * FROM authors WHERE au_lname = ?gcAuthor')
= SQLEXEC(gnConnHandle)

...

gcAuthor = 'Jones'
= SQLEXEC(gnConnHandle)

Ja etim 1000 zapisei dobovljal i menjal..

--
Oskars
+371 9251562
Latvia, Riga
...
Рейтинг: 0 / 0
массовое добаление записей в MS SQL
    #32665834
harr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
< gnConnHandle получает отрицательное значение...
< Кто такой 'SQL' - ConnectionName или DataSourceName? Какие на нём свойства?

'SQL' это ConnectionName, через ODBC, наверно нужно каждый раз ставить
на проверку SQLConnect('SQL'), но SCAN должен ждать пока функция не выполнеться или не так?
...
Рейтинг: 0 / 0
массовое добаление записей в MS SQL
    #32666499
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Oskars
По поводу SQLPrepare() для MS SQL 2000 есть сомнения. Почитай дискуссию

http://forum.foxclub.ru/read.php?f=5&i=91085&t=91085

harr
Владимир ( vklepko ) правильно заметил, что приглашение о вводе пароля появляется только в случае, если не удалось установить соединение. Т.е. gnConnHandle получил значение -1

Вообще-то, постоянно устанавливать и разрывать связь внутри цикла - это не есть хорошее решение. Логично вынести все разовые операции во вне цикла.

По умолчанию, FoxPro всегда работает в "синхронном" режиме, т.е. он всегда ждет завершение выполнения каждой команды, прежде чем перейти к выполнению следующей. Так что, SCAN действительно будет ждать пока не выполниться SQLConnect().

Почитай еще темы
http://www.sql.ru/forum/actualthread.aspx?tid=50269
http://www.sql.ru/forum/actualthread.aspx?tid=88752

Там дебя должны интересовать настройки SQLSETPROP() для подавления выдачи приглашений о вводе пароля в случае ошибки соединения.
...
Рейтинг: 0 / 0
массовое добаление записей в MS SQL
    #32666883
Crip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2ВладимирМ
Полезное замечание по поводу SQLPREPARE.
Но в данном случае как раз SQLPREPARE должен помочь. Очень сомнительно, что insert будет зависеть от конкретных значений параметров.

Правда с select совсем другая история ибо планы могут меняться взависимости от статистик. Типичный пример места где SQLPREPARE лучше не применять это запрос по диапазону дат, сервер не зная конкретных значений всегда выберет сканирование.
...
Рейтинг: 0 / 0
массовое добаление записей в MS SQL
    #32677797
harr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем!!! Помогла такая конструкция
Вынес Store SQLConnect('SQL') To gnConnHandle
За пределы SCAN в начало процедуры
а =SQLDISCONNECT(gnConnHandle) в конец процедуры
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / массовое добаление записей в MS SQL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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