sql >> Database >  >> RDS >> Sqlserver

Kan geen gegevens importeren uit Excel 2003 naar de database met behulp van de openrowset-functie

SQL-query voor functie OPENROWSET:--

1) Open SQL Server Management Studio

2) Open het queryblok en schrijf de volgende opdrachten

3) Gebruik voor Excel 97 – 2003 bestanden met de extensie 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$]')

i. Het zal een tabel maken met de naam Adressen in de huidige geselecteerde database.

ii. Microsoft.Jet.OLEDB.4.0 is het stuurprogramma voor conversie

iii. Excel-bestand met pad - D:\SQL Scripts\msp.xls

iv. IMEX=1 eigenschap inbegrepen, kolommen die vermengde datatypes bevatten worden behandeld als string/tekst datatypes.

v. HRD =Ja eigenschap betekent dat de bovenste rij van het Excel-bestand bestaat uit de naam van de kolomkop

vi. Blad1 is de naam van het blad dat u wilt importeren

vii. Excel 8.0 geeft aan dat het een Excel-bestand in 97 – 2003-formaat is

4) Om een ​​filterquery te gebruiken, kan de gebruiker de where-clausule ook gebruiken met dit commando, zoals

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) Om het Excel-bestand in de vooraf gedefinieerde SQL-tabel te kopiëren, gebruikt u de functie OPENROWSET met een invoegopdracht zoals:-

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) Gebruik voor Excel 2007 – 2010 bestanden met de extensie XLSX

SELECT *INTO [dbo].[Adressen]FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0' ,'Excel 12.0;Database=D:\SQL-scripts\msp.xlsx;HDR=YES;IMEX=1' ,'SELECTEER * VAN [Blad1$]')

i. Het zal een tabel maken met de naam Adressen in de huidige geselecteerde database

ii. Microsoft.ACE.OLEDB.12.0 is het stuurprogramma voor conversie

iii. Excel-bestand met pad - D:\SQL Scripts\msp.xlsx

iv. IMEX=1 eigenschap inbegrepen, kolommen die vermengde datatypes bevatten worden behandeld als string/tekst datatypes.

v. HRD =Ja eigenschap betekent dat de bovenste rij van het Excel-bestand bestaat uit de naam van de kolomkop

vi. Blad1 is de naam van het blad dat u wilt importeren

vii. Excel 12.0 geeft aan dat het een Excel-bestand in 2007 – 2010-formaat is

7) Om het Excel-bestand in de vooraf gedefinieerde SQL-tabel te kopiëren, gebruikt u de functie OPENROWSET met een invoegopdracht zoals:-

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. App werkt niet meer vanwege database

  2. bepalen meest gebruikte reeks woorden php mysql

  3. django+mysql='DatabaseWrapper'-object heeft geen attribuut 'Database'-fout

  4. Row_to_json() gebruiken met geneste joins