sql >> Databáze >  >> RDS >> Sqlserver

Nelze importovat data z aplikace Excel 2003 do databáze pomocí funkce openrowset

SQL dotaz pro funkci OPENROWSET :--

1) Otevřete SQL Server Management Studio

2) Otevřete panel dotazů a napište následující příkazy

3) Pro soubor Excel 97 – 2003, což jsou soubory s příponou XLS použijte

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. Vytvoří tabulku s názvem Adresy v aktuálně vybrané databázi.

ii. Microsoft.Jet.OLEDB.4.0 je ovladač používaný pro převod

iii. Excel soubor s cestou - D:\SQL Scripts\msp.xls

iv. Včetně vlastnosti IMEX=1, se sloupci, které obsahují smíšené datové typy, se zachází jako s datovými typy řetězec/text.

v. HRD =Vlastnost Ano znamená, že horní řádek souboru aplikace Excel se skládá z názvu záhlaví sloupce

vi. List1 je název listu, který chcete importovat

vii. Excel 8.0 uvádí, že se jedná o soubor Excel formátu 97 – 2003

4) Pro použití filtrovacího dotazu může uživatel použít klauzuli where is tímto příkazem jako

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) Pro zkopírování excelového souboru do předdefinované SQL tabulky použijte funkci OPENROWSET s příkazem insert jako:-

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) Pro soubor Excel 2007 – 2010, což jsou soubory s příponou XLSX.

SELECT *INTO [dbo].[Adresy]FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0' ,'Excel 12.0;Databáze=D:\SQL Scripts\msp.xlsx;HDR=YES;IMEX=1' ,'SELECT * OD [Sheet1$]')

i. Vytvoří tabulku s názvem Adresy v aktuálně vybrané databázi

ii. Microsoft.ACE.OLEDB.12.0 je ovladač používaný pro převod

iii. Excel soubor s cestou - D:\SQL Scripts\msp.xlsx

iv. Včetně vlastnosti IMEX=1, se sloupci, které obsahují smíšené datové typy, se zachází jako s datovými typy řetězec/text.

v. HRD =Vlastnost Ano znamená, že horní řádek souboru aplikace Excel se skládá z názvu záhlaví sloupce

vi. List1 je název listu, který chcete importovat

vii. Excel 12.0 uvádí, že se jedná o soubor Excel formátu 2007 – 2010

7) Pro zkopírování excelového souboru do předdefinované SQL tabulky použijte funkci OPENROWSET s příkazem insert jako:-

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. SQL Server 2017:Dostupné funkce v systému Linux

  2. Hromadná vložka/aktualizace Postgres, která je bezpečná pro vstřikování. Možná funkce, která bere pole?

  3. Datový typ npgsql neznámý při použití group by

  4. Mají všechny skupiny stejnou celkovou moc pro danou podskupinu?