Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Не могат да се импортират данни от excel 2003 в база данни с помощта на функцията openrowset

SQL заявка за функция OPENROWSET :--

1) Отворете SQL Server Management Studio

2) Отворете полето за заявки и напишете следните команди

3) За Excel 97 – 2003 файл, който е файл с разширение XLS използвайте

SELECT * INTO [dbo].[Addresses]
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=D:\SQL Scripts\msp.xls;IMEX=1;HRD=Yes','SELECT * FROM [Sheet1$]')

аз Той ще създаде таблица с имена Адреси в текущо избраната база данни.

ii. Microsoft.Jet.OLEDB.4.0 е драйверът, използван за преобразуване

iii. Excel файл с път - D:\SQL Scripts\msp.xls

iv. IMEX=1 включено свойство, колони, които съдържат смесени типове данни, се третират като типове данни низ/текст.

v. Свойство HRD =Да означава, че най-горният ред на excel файл се състои от име на заглавка на колона

vi. Sheet1 е името на листа, който искате да импортирате

vii. Excel 8.0 уточнява, че това е excel файл във формат 97 – 2003

4) За да използва заявка за филтър, потребителят може да използва клаузата where също с тази команда като

SELECT * INTO [dbo].[Addresses]
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=D:\SQL Scripts\msp.xls;IMEX=1;HRD=Yes','SELECT * FROM [Sheet1$]') where [column_name]=’value’

5) За да копирате файла на Excel в предварително зададена SQL таблица, използвайте функцията OPENROWSET с команда за вмъкване като:-

Create table Custom (Source_IP_ADD varchar(20),API_NAME varchar(50),COUNT_NO varchar(5),CLIENT_ID varchar(50),Date_OF_INVOKE varchar(50))

INSERT INTO [dbo].[Custom] ( [Source_IP_ADD], [API_NAME], [COUNT_NO], [CLIENT_ID], [Date_OF_INVOKE])

    SELECT [Source_IP_ADDR], [API_NAME], [COUNT_NO], [CLIENT_ID], [Date_INVOK] FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=D:\SQL Scripts\msp.xls;IMEX=1;HRD=Yes','SELECT * FROM [Sheet1$]')

6) За файл на Excel 2007 – 2010, който е файл с разширение XLSX използвайте

SELECT *INTO [dbo].[Addresses]FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0' ,'Excel 12.0;Database=D:\SQL Scripts\msp.xlsx;HDR=YES;IMEX=1' ,'SELECT * ОТ [Sheet1$]')

аз Той ще създаде таблица с имена Адреси в текущо избраната база данни

ii. Microsoft.ACE.OLEDB.12.0 е драйверът, използван за преобразуване

iii. Excel файл с път - D:\SQL Scripts\msp.xlsx

iv. IMEX=1 включено свойство, колони, които съдържат смесени типове данни, се третират като типове данни низ/текст.

v. Свойство HRD =Да означава, че най-горният ред на excel файл се състои от име на заглавка на колона

vi. Sheet1 е името на листа, който искате да импортирате

vii. Excel 12.0 уточнява, че това е excel файл във формат 2007 – 2010

7) За да копирате файла на Excel в предварително зададена SQL таблица, използвайте функцията OPENROWSET с команда за вмъкване като:-

Create table Custom (Source_IP_ADD varchar(20),API_NAME varchar(50),COUNT_NO varchar(5),CLIENT_ID varchar(50),Date_OF_INVOKE varchar(50))

INSERT INTO [dbo].[Custom] ( [Source_IP_ADD], [API_NAME], [COUNT_NO], [CLIENT_ID], [Date_OF_INVOKE])
SELECT [Source_IP_ADDR], [API_NAME], [COUNT_NO], [CLIENT_ID], [Date_INVOK] FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0' ,'Excel 12.0;Database=D:\SQL Scripts\msp.xlsx;HDR=YES;IMEX=1' ,'SELECT * FROM [Sheet1$]')



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Най-доброто решение за пейджинг, използващо SQL Server 2005?

  2. Добавете препратка към dll на трета страна в компонента на ssis скрипт

  3. Защо в SQL Server няма опция за каталогизиране с разделители, само с цели числа?

  4. Как да форматирам времето от dd:hh:mm:ss до само hh:mm:ss в SQL сървър?

  5. как да защитите базата данни от Windows удостоверяване