Импорт данных Access в SQL Server с использованием ColdFusion - PullRequest
0 голосов
/ 15 сентября 2008

Это должно быть просто. Я пытаюсь импортировать данные из Access в SQL Server. У меня нет прямого доступа к базе данных SQL Server - она ​​на GoDaddy, и они разрешают только веб-доступ. Поэтому я не могу использовать инструменты Management Studio или другие сторонние программы Access, которые требуют удаленного доступа к базе данных.

Я написал запрос к базе данных Access, и я пытаюсь перебрать и вставить каждую запись в соответствующую таблицу SQL Server. Но это продолжает выдавать ошибку. Я вполне уверен, что это из-за HTML, и Бог знает, какие еще странные символы есть в одном из текстовых полей Access. Я пытался использовать CFQUERYPARAM, но это тоже не помогло.

Любые идеи будут полезны. Спасибо.

Ответы [ 4 ]

1 голос
/ 16 сентября 2008

Попробуйте использовать GoDaddy SQL средство резервного копирования / восстановления , чтобы получить локальную копию базы данных. На этом этапе используйте инструмент SQL Server DTS для импорта данных. Это простой в использовании графический интерфейс с перетаскиванием.

1 голос
/ 16 сентября 2008

Какую ошибку (ы) получить (ы)? Какие странные символы вы используете? Вы имеете в виду разметку HTML или расширенные (например, UTF-8) символы?

Если возможно, включите Надежные отчеты об ошибках.

Если проблема заключается в тайм-ауте страницы, вы можете либо увеличить тайм-аут, используя Admin, используя тег cfsetting, либо переписать свой скрипт, чтобы запустить определенное количество строк, а затем переслать его себе в следующую начальную точку.

0 голосов
/ 18 сентября 2008

Вы должны иметь возможность выполнять сохраненные пакеты DTS в MS SQL Server из командной строки сервера приложений. Поскольку дело обстоит именно так, вы можете использовать <cfexecute> для выдачи запроса DTSRUNNUI.EXE. ( См. Пример ) Это, конечно, при условии, что вы находитесь на сервере, где доступна команда.

0 голосов
/ 15 сентября 2008

Никогда не рекомендуется циклически просматривать записи, когда можно использовать SQL Update.

Из вашего вопроса непонятно, какой слой интерфейса базы данных вы используете, но с правильными интерфейсами возможно вставить данные из источника вне базы данных , если используемый интерфейс поддерживает оба типа баз данных , Это можно сделать в предложении FROM вашего оператора SQL, указав не только имя таблицы, но и строку подключения для базы данных. Предполагая, что на вашем веб-хосте есть драйверы ODBC для данных Jet (на самом деле вы не используете Access, который является частью разработки приложения - вы используете только ядро ​​базы данных Jet), строки подключения должно быть достаточно.

РЕДАКТИРОВАТЬ: Если вы используете ядро ​​базы данных Jet для этого, вы должны иметь возможность указать исходную таблицу примерно так (где tblSQLServer - это таблица в вашем Jet MDB, которая через ODBC связана с вашим SQL Server):

INSERT INTO tblSQLServer (ID, OtherField ) 
SELECT ID, OtherField
FROM [c:\MyDBs\Access.mdb].tblSQLServer 

Ключевым моментом является то, что вы используете здесь двигатель Jet db, чтобы выполнить всю тяжелую работу за вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...