sql >> データベース >  >> RDS >> Sqlserver

openrowset関数を使用してExcel2003からデータベースにデータをインポートできません

    OPENROWSET関数のSQLクエリ:-

    1)SQL ServerManagementStudioを開きます

    2)クエリパッドを開き、次のコマンドを記述します

    3)拡張子がXLSのファイルであるExcel 97 –2003ファイルの場合

    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$]')
    

    私。現在選択されているデータベースにAddressesという名前のテーブルが作成されます。

    ii。 Microsoft.Jet.OLEDB.4.0は、変換に使用されるドライバーです

    iii。パスのあるExcelファイル-D:\ SQL Scripts \ msp.xls

    iv。 IMEX =1プロパティが含まれ、混合データ型を含む列は文字列/テキストデータ型として扱われます。

    v。HRD=Yesプロパティは、Excelファイルの一番上の行が列ヘッダー名で構成されていることを意味します

    vi。 Sheet1は、インポートするシートの名前です

    vii。 Excel 8.0では、97〜2003形式のExcelファイルであると指定されています

    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)事前定義されたSQLテーブルのExcelファイルをコピーするには、次のような挿入コマンドで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)拡張子XLSXのファイルであるExcel 2007 –2010ファイルの場合

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

    私。現在選択されているデータベースにAddressesという名前のテーブルが作成されます

    ii。 Microsoft.ACE.OLEDB.12.0は、変換に使用されるドライバーです

    iii。パスのあるExcelファイル-D:\ SQL Scripts \ msp.xlsx

    iv。 IMEX =1プロパティが含まれ、混合データ型を含む列は文字列/テキストデータ型として扱われます。

    v。HRD=Yesプロパティは、Excelファイルの一番上の行が列ヘッダー名で構成されていることを意味します

    vi。 Sheet1は、インポートするシートの名前です

    vii。 Excel 12.0は、2007〜2010形式のExcelファイルであることを指定しています

    7)事前定義されたSQLテーブルのExcelファイルをコピーするには、次のような挿入コマンドで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. より多くの列またはより多くの行を持つ方が効率的ですか?

    2. タイムゾーンをデータベースに保存する適切な方法は?

    3. MySQLデータベースから画像を取得してhtmlタグで表示する方法

    4. MySQLの変更テーブル変更列がnull値の行で失敗する