簡體   English   中英

批量插入文件夾中的多個文件

[英]Bulk insert multiple files inside a folder

對於Stack那些曾經一次又一次幫助我的優秀人員……我正在嘗試為文件夾中的所有文件運行批量插入例程。 這是我的方法,但是我似乎遇到了一條路障,並顯示一條消息:“在我的select語句中拒絕訪問”

EXEC [dbo].[procReadFolder] 'C:\Users\ABC\Downloads\NYSE_2015'

我具有對所有文件夾和文件的管理員訪問權限,因此不確定下一步。

請參閱下面的邏輯:

ALTER procedure [dbo].[procReadFolder] @path sysname
as
begin
set nocount on

declare @dirContent table(
id int identity(1,1),
FileName sysname NULL
)
declare  @cmd nvarchar(512)
set @cmd = 'DIR /b ' + @path

insert into @dirContent
exec master..xp_cmdshell @cmd

select * from @dirContent

-- Code to Loop through all the records in the file
-- To be written

-- Routine that takes the file name as a parameter and inserts the file
EXEC [dbo].[BulkInsert] 'Path'

end

結果集:

1   Access is denied.
2   NULL

您將需要確保運行SQL Server服務的帳戶有權訪問特定路徑。

該存儲過程是在配置為運行SQL Server服務的帳戶的安全上下文下執行的,因此,該帳戶將需要被授予對驅動器上的文件夾的權限。

我將SQL服務帳戶更改為另一個用戶帳戶“ SQLService”,而不是默認的NT / MSSQLServer帳戶,它可以正常工作

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM