Экспорт Excel на sql сервер Временная таблица - PullRequest
0 голосов
/ 20 июля 2009

Мне нужно перенести все значения в файле Excel во временную / физическую таблицу в SQL Server 2005. Мне не нужен метод импорта экспорта.Я попробовал следующий метод связанного сервера:

SELECT * 
INTO db1.dbo.table1
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 
    'Driver={Microsoft Excel Driver (*.xls)};DBQ=c:\renju.xls', 
    'SELECT * FROM [sheet1$]')

Но он возвращает ошибку как:

Поставщик OLE DB "Microsoft.ACE.OLEDB.12.0" для связанного сервера "(пусто)"возвращенное сообщение" Не удалось найти устанавливаемый ISAM. ".

Я использую Excel 2003, и я уже добавил связанный сервер для" Microsoft.Jet.OLEDB.4.0. "

Ответы [ 4 ]

0 голосов
/ 17 августа 2010

Я думаю, что table1 не должен быть уже создан, чтобы это работало, и table1 будет иметь те же столбцы, что и лист Excel. Это то, что вы хотите?

вы можете попробовать использовать OpenDataSource, если это не было исправлено. Это будет чуть медленнее, чем OpenRowSet по производительности:

 INSERT INTO db1.dbo.table1
      SELECT *
      FROM OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0',
                           'Data Source="c:\renju.xls";
                            Extended properties=Excel 8.0')...Sheet1$

Вы также можете попробовать Расширенные свойства = Excel 5.0, если он не работает.

0 голосов
/ 22 июля 2009

Мастер служб интеграции / импорта и экспорта служб SSIS.

0 голосов
/ 22 марта 2010

Если у вас настроен связанный сервер, вы можете использовать следующий синтаксис:

select * from openquery(LinkedServerName, 'select * from [Sheet1$]')
0 голосов
/ 20 июля 2009

Я бы попробовал установить / переустановить компоненты доступа к данным Microsoft (MDAC):

http://www.microsoft.com/downloads/details.aspx?FamilyID=6c050fe3-c795-4b7d-b037-185d0506396c&displaylang=en

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