一部のPDFファイルを一時テーブルにインポートしようとしています。ストアドプロシージャ内にあるときにSQL Serverの一括挿入が失敗する
私はその目的のためにストアドプロシージャを作成し、私はこのコードを使用します。私はprint @SqlCommand
を使用する場合
SET @SqlCommand = 'INSERT INTO ZENVIOBOLETO (IDBOLETO,NomeArquivo, image_data) SELECT '+CAST(@IDBOLETO AS VARCHAR(10))+','''[email protected]+''',image_data FROM OPENROWSET(BULK N'''[email protected][email protected]+''''+',SINGLE_BLOB) AS ImageSource(image_data);';
このコードを、この出力を返します:
INSERT INTO ZENVIOBOLETO (IDBOLETO,NomeArquivo, image_data)
SELECT 803, '20162744', image_data
FROM OPENROWSET(BULK N'c:\RM\Boleto.1.803.PDF', SINGLE_BLOB) AS ImageSource(image_data);
私が実行しようとすると私のストアドプロシージャは、私はエラーが表示されます:
You do not have permission to use the bulk load statement
私はコンマSSMSのnd行私は何のエラーもありません。
ストアドプロシージャが同じユーザーとして実行されて、私もこの試みた:
ALTER PROCEDURE [dbo].[ACERTANOMEBOLETOS](@Pasta VARCHAR(100), @CODCOLIGADA INT)
WITH EXECUTE AS 'suporte'
を私は本当にそれの外に、私は許可エラーを得たストアド・プロシージャ内で、何が起こっているかを得ることはありません、私はドン〜を得る。同じユーザー、同じコード。
さらに、ユーザーはbulkadminのメンバーであり、「管理者の管理操作」権限を持っています。
このため、私はSSMSで直接コマンドを実行できます。
問題は、なぜ私はSSMSに直接入ってストアドプロシージャではないのですか?
私の洞察はありますか?
http://stackoverflow.com/questions/14604416/how-to-enable-bulk-permission-in-sql-server – McNets