Проблема с обновлением SQL с Excel - PullRequest
1 голос
/ 11 мая 2010

У меня проблема с этим запросом:

UPDATE Provinces 
SET    Provinces.DefaultName=T2.Defaultname 
FROM   Provinces 
INNER JOIN 
    OPENROWSET('Microsoft.Jet.OLEDB.4.0',
               'Excel 8.0;Database=C:\provinces.xlsx;HDR=YES',
               'SELECT Code, Defaultname FROM [Arkusz1$]') T2 
     On Provinces.Code = t2.Code 
WHERE  Provinces.Code = T2.Code

Я получаю сообщение об ошибке:

Сообщение 7399, Уровень 16, Состояние 1, Строка 1 Поставщик OLE DB "Microsoft.Jet.OLEDB.4.0 "для связанного сервера" (null) "сообщил об ошибке.Поставщик не предоставил никакой информации об ошибке.Сообщение 7303, уровень 16, состояние 1, строка 1 Не удается инициализировать объект источника данных поставщика OLE DB "Microsoft.Jet.OLEDB.4.0" для связанного сервера "(null)".

Что такоеисточник этой ошибки, и как я могу изменить оператор SQL?

Ответы [ 2 ]

1 голос
/ 11 мая 2010

Здесь есть несколько возможных причин этого: Связанный сервер, использующий проблему Microsoft.Jet.OLEDB.4.0 .

Вероятная причина - разрешения файловой системы для временного каталога для входа в службу sql для всех, кто обращается к этому связанному серверу: C:\Documents and Settings\(sql login name)\Local Settings\Temp

0 голосов
/ 11 мая 2010

То есть ошибка запрещена. Следовать:

Как импортировать данные из Excel в SQL Server

Как использовать Excel со связанными серверами SQL Server и распределенными запросами

Примечание. Если вы используете SQL Server 2005, убедитесь, что вы включили параметр Ad Hoc Distributed Queries (Конфигурирование специальных распределенных запросов), используя конфигурацию контактной области SQL Server.

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