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

Если обновления происходят не посреди бела дня, так вполне можно делать. Но вот так чтобы "кинул на сервер и клиенты уже пользуются" - не получиться. Получиться: "ночью кинул, утром пользуются"
...
Рейтинг: 0 / 0
28.02.2001, 10:08
    #32002595
Рафик
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS SQL 7.0 и Delphi не совместить
Извините пожалуста еще за один вопрос, какому ресурсу нужно сделать доступ и если Вас не затруднит поподробнее пожалуста!!!
Заранее благодарен Рафик!
...
Рейтинг: 0 / 0
28.02.2001, 11:08
    #32002596
SergSuper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS SQL 7.0 и Delphi не совместить
расшарить директорий, где находиться нужный файл
неужели вы никогда не переписывали файлы по сети?

sergsuper@mail.ru
...
Рейтинг: 0 / 0
02.03.2001, 10:09
    #32002677
Рафик
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS SQL 7.0 и Delphi не совместить
Так если просто сделать доступ к директории, то от этого лучше не будет, ведь люди просто будут запускать файл по сети, а мне надо чтобы сервер выполнял программу!!!
...
Рейтинг: 0 / 0
02.03.2001, 10:39
    #32002678
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS SQL 7.0 и Delphi не совместить
Уважаемый Рафик, по-моему вы путаете клиентское приложение и хранимые процедуры сервера.
Доступ к первому будет(должен) определяться правами пользователя в сети, а к последним - правами пользователя SQL сервера (согласитесь - есть разница).
У нас, например, к клиентскому .exe-файлу(на VFP 6.0) для получения отчетов имеют доступ Everyone, а к хранимым процедурам, которые этот файл вызывает - только по определенным им на SQL сервере правам. Т.е. все могут видеть список отчетов и могут даже попробовать их запустить, но вот результат эолй попытке будет зависить от прав для конкретного пользователя на конкретную процедуру.

PS.Конфигурация - Win2000 Adv.server, SQL2000 with Windows authentication, VFP 6.0, ODBC
...
Рейтинг: 0 / 0
02.03.2001, 11:39
    #32002681
SergSuper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS SQL 7.0 и Delphi не совместить
Что бы сервер выполнил программу есть команды xp_cmdshell.
Но по-моему в ВН Вам действительно рассказывали про хранимые процедуры.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / MS SQL 7.0 и Delphi не совместить / 14 сообщений из 14, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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