MS SQL 7.0 и Delphi не совместить

Рафик
Дата: 26.02.2001 16:14:35
Помогите пожалуста, не могу уже сил больше нет!!!
Значит проблема такая, я имею файл DBF и мне надо его кинуть на MS SQL, записей в этом файле 99000, при выполнение запроса добавления, который в цикле повторяется 99000 раз, выскакивает ошибка SQL general error, причем каждый раз на разных записях.
И еще один вопрос попутно, можно ли запускаемый файл хранить на сервере, чтобы клиенты запускали программу с Сервера, тоже очень надо.
Заранее благодарен!
Рафик
Genady
Дата: 26.02.2001 16:51:45
Я бы посоветовал использовать Import Data в DTS, если конечно это одноразовый заброс данных.
Есть еще один, вопрос: насколько я знаю (опыт общения с dbf файлами давний) один файл - одна таблица. Это что, вся база в одной таблице?
Про программу непонятно что имеется в виду.
Glory
Дата: 26.02.2001 17:11:13
А вы часом не ODBC connection используете ?
У меня такие же проблемы были с SQL2000+VisualFoxpro 6.0+ODBC. У меня создалось такое впечатление, что все вылет программы зависел от заполнения какого-то буфера на сервере. После этого наступал просто жуткий таймаут сервера и все запросы к нему возвращали ошибку. Пробовал бороться с этим так, что через задержку в самом цикле добавления (скажем через 1000 записей - 5 секунд, но при количестве записей > 500000 и это переставло помогать). Насколько я понимаю, дело в принципе работы ODBC, хотя и руководство по SQL2000 рекомендует для больших объемомв данных использовать Bulk Insert. Поэтому в конце концов бросил это дело и стал пользоваться DTS package-ми самого сервера, что вам советует и Genady
Рафик
Дата: 26.02.2001 17:47:02
Нет у меня отдельных файлов, у меня все в разных, а на сервер я кидаю в один общий, задержка тоже не помогает, как мне перенестроить ODBC
Glory
Дата: 26.02.2001 18:02:42
Вариантов 2, которые советовали и мне в свое время
1. Отказаться от ODBC и использовать скажем ADO - этим советом я не воспользовался, т.к. это связано с изменением кода, что всегда неудобно, когда он уже создан.
2. Использовать DTS Package сервера - все задачи на ежедневный импорт/экспорт у меня загнаны в Package-и, запускаются по расписанию и о результатах сообщают через e-mail - очень удобно
Fompro
Дата: 26.02.2001 20:11:49
Я писал уже в конференцию о попытке переноса DBF-файла с ~3,500,000 записей. Проблема была решена после выделения достаточного места под LOG (~5ГБ) и использования OPENROWSET:
'MSDASQL','DRIVER=Microsoft dBase VFP Driver (*.dbf)'.
И уточните, пожалуйста, что значит хранить исполняемый файл на сервере -> в виде BLOB?
bserg
Дата: 27.02.2001 08:30:02
В BDE есть удобное средство для переноса больших объемов данных если используешь INSERT:
надо в алеасе для dbf (драйвер STANDART) использовать запрос вида:
INSERT INTO "file.dbf" (<fields list>
SELECT <fields list> FROM ":<alias MSSQL>:<table MSSQL>"
Работает значительно быстрее, чем запись по одной, но требует соответствующего timeout.
Это работает только в алиасе STANDART!
А вообще можно написать хранимую процедуру и использовать приблезительно такойже запрос с использованием Linked Server для dbf файлов.
Рафик
Дата: 27.02.2001 09:46:49
А про хранение программы на сервере, я был в командировке в Великом Новгороде и у них было организовано так, что исполняемые файлы хранятся на сервере, и клиенты запускают этот исполняемый файл с сервера, очень удобнои им и программистам, при модификации программы кинул на сервер и клиенты уже пользуются новой модификацией. Помогите!!!
SergSuper
Дата: 27.02.2001 10:17:56
Ничего сложного в том чтобы запускать программы с сервера нет. Просто надо дать доступ к соответствующему ресурсу и все, не сложнее чем переписать файл с сервера. Но при этом возникнет проблемма обновления файла - пока хоть у кого-либо он запущен, его нельзя переписать, если только явно не отрубить коннекшен(файловый) от сервера, но тогда может зависнуть приложение у соответствующего юзера.

Если обновления происходят не посреди бела дня, так вполне можно делать. Но вот так чтобы "кинул на сервер и клиенты уже пользуются" - не получиться. Получиться: "ночью кинул, утром пользуются"
Рафик
Дата: 28.02.2001 10:08:35
Извините пожалуста еще за один вопрос, какому ресурсу нужно сделать доступ и если Вас не затруднит поподробнее пожалуста!!!
Заранее благодарен Рафик!