sql >> Databasteknik >  >> RDS >> Sqlserver

Det går inte att importera data från excel 2003 till databasen med funktionen openrowset

SQL-fråga för OPENROWSET-funktionen :--

1) Öppna SQL Server Management Studio

2) Öppna frågefältet och skriv följande kommandon

3) För Excel 97 – 2003 fil som är filer med tillägg XLS använd

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. Det kommer att skapa tabell med namn Adresser i den aktuella valda databasen.

ii. Microsoft.Jet.OLEDB.4.0 är drivrutinen som används för konvertering

iii. Excel-fil med sökväg - D:\SQL Scripts\msp.xls

iv. IMEX=1 egenskap ingår, kolumner som innehåller blandade datatyper behandlas som sträng-/textdatatyper.

v. HRD =Ja-egenskapen betyder att den översta raden i excel-filen består av kolumnrubriknamn

vi. Blad1 är namnet på arket du vill importera

vii. Excel 8.0 anger att det är 97 – 2003 format Excel-fil

4) För att använda filterfrågan kan användaren använda where-satsen också med detta kommando som

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) För att kopiera excel-filen i fördefinierad SQL-tabell använd OPENROWSET-funktionen med insert-kommando som:-

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) För Excel 2007 – 2010 fil som är filer med tillägg XLSX använd

VÄLJ *INTO [dbo].[Adresser]FRÅN OPENROWSET('Microsoft.ACE.OLEDB.12.0','Excel 12.0;Database=D:\SQL-skript\msp.xlsx;HDR=YES;IMEX=1','SELECT * FRÅN [Sheet1$]')

i. Det kommer att skapa tabell med namn Adresser i den aktuella valda databasen

ii. Microsoft.ACE.OLEDB.12.0 är drivrutinen som används för konvertering

iii. Excel-fil med sökväg - D:\SQL Scripts\msp.xlsx

iv. IMEX=1 egenskap ingår, kolumner som innehåller blandade datatyper behandlas som sträng-/textdatatyper.

v. HRD =Ja-egenskapen betyder att den översta raden i excel-filen består av kolumnrubriknamn

vi. Blad1 är namnet på arket du vill importera

vii. Excel 12.0 anger att det är 2007 – 2010 format excel-fil

7) För att kopiera excel-filen i fördefinierad SQL-tabell använd OPENROWSET-funktionen med insert-kommando som:-

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. Finns det något sätt att avgöra om ett paket har tillstånd i Oracle?

  2. Hur man hittar alla beroenden för en tabell i sql-servern

  3. Entity Framework - Radstorlek större än den tillåtna maximala radstorleken på 8060

  4. php echo fungerar inte