sql >> データベース >  >> Database Tools >> SSMS

バルクロードステートメントエラーを使用する権限がありません

    BULKコマンドを使用するための適切な権限があることを確認するには、以下に従ってください

    • セキュリティを拡張する
    • ログインを拡張します
    • ユーザー名を右クリックして、プロパティを選択します (ダイアログウィンドウが表示されます)
    • サーバーの役割を選択します
    • bullkadminを選択します 一括コマンドまたはsysadminを使用できるようにする データベースに対して任意のコマンドを使用できるようにします。

    さて、あなたが使用しているクエリに関しては、それは完全には正しくありません。

    テーブルを作成するために

    CREATE TABLE [dbo].[Stickers] (
            [name] varchar(10)
            , [category] varchar(10)
            , [gender] varchar(1)
            , [imageData] varchar(max)
    )
    

    大きな値のデータを挿入する場合

    INSERT INTO  [dbo].[Stickers] ([name], [category], [gender], [imageData])
    SELECT 'Red dress'
            , 'Dress'
            , 'F'
            , photo.*
    FROM OPENROWSET(BULK 'C:\Users\username\Desktop\misc-flower-png-55d7744aca416.png', SINGLE_BLOB) [photo]
    

    いくつかのメモ:

    • FROM句の後にバルク行セットの相関名を設定する必要があります([写真])
    • バルク行セットの相関に使用されている右側の列プレフィックスを使用します(写真*)
    • 一括挿入の列はvarchar(max)として設定する必要があります

    このためのMSDN記事:こちら



    1. PhpMyAdminを使用してデータベースを検索する

    2. phpMyAdminで読み取り専用ユーザーを作成する

    3. MYSQLでのストアドプロシージャの記述の難しさ

    4. GUIDをvarchar(32)に変換します