Я выясняю, как перенести мои данные из базы данных Access в базу данных SQL Server (2008 R2 Express Edition).Я предполагал, что использование Task-> Import и загрузка данных таким способом было бы правильным способом, но я только что нажал кнопку «Поправка».
Для данных в таблицах, которые я импортирую, заданы ключи автоинкремента, которые ядолжен поддерживать, как я загружаю данные.Это связано с тем, что есть внешние ссылки на значения (не принудительно).Теперь я понял, что мне нужно создать таблицы в SQL Server с установленным параметром IDENTITY, а затем использовать SET IDENTITY_INSERT для ON для таблицы перед импортом.Эксперименты показывают, что сценарий (который я не вижу) завершается неудачей, если это требуется.
Я попытался провести эксперимент, чтобы создать что-то вручную, чтобы отобразить таблицу "Проспект", первая попытка была
* 1006.*
, но это не удалось со следующим
Поставщик OLE DB "Microsoft.Jet.OLEDB.4.0" для связанного сервера "(null)" возвратил сообщение "Unspecified error".Сообщение 7303, уровень 16, состояние 1, строка 1 Невозможно инициализировать объект источника данных поставщика OLE DB "Microsoft.Jet.OLEDB.4.0" для связанного сервера "(null)".
Обнаружив операторы наИнтернет, который предположил, что это может быть преодолено с помощью другого драйвера, я наивно попытался
SELECT * FROM OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0','Datasource="C:\Users\Alan\Documents\db\beckendn.mdb";Jet OLEDB:System Database="C:\Users\Alan\Documents\db\Secured.mdw";User ID=Alan;Password=xxxxxx;')...Prospect;
, но это также не удалось с ...
Поставщик OLE DB "Microsoft.ACE.OLEDB.12.0«для связанного сервера» (null) «возвращено сообщение« Не удалось найти устанавливаемый ISAM. ».Сообщение 7303, уровень 16, состояние 1, строка 1 Не удается инициализировать объект источника данных поставщика OLE DB "Microsoft.ACE.OLEDB.12.0" для связанного сервера "(null)".
Может кто-нибудь сказать мне, чтоЯ делаю неправильно
[Примечание: во время двойной проверки этого сообщения я попытался снова импортировать таблицу в новую базу данных, но не удалось скопировать запись.Это выглядит как поле Access типа Byte с ненулевым значением (скопированная таблица содержит множество записей с нулем, но ни с одним из ненулевых), так как поле типа smallint вызвало ошибку переполнения]