Jon*_*ial 13 sql-server bulk-insert
有人可以帮我解决这些问题吗?
BULK INSERT DATABESE01.dbo.TABLE01
FROM '\\COMPUTER01\FOLDER01\TextFile.txt'
WITH
(
FIELDTERMINATOR = ' ',
rowterminator = '\n',
tablock
)
Run Code Online (Sandbox Code Playgroud)
错误显示,无法打开:
无法批量插入,因为无法打开文件“\SERVERNAME\FOLDERNAME\textFile.txt”。操作系统错误代码 5(访问被拒绝。)
该路径位于网络上的另一台计算机上。
Rem*_*anu 16
我将大胆地假设您使用 Windows 身份验证连接到 SQL Server。在这种情况下,您有一个 Kerberos 双跃点:一个跃点是您的客户端应用程序连接到 SQL Server,第二个跃点是 SQL Server 连接到远程\\COMPUTER01
. 这种双跳属于受约束委派的限制,您最终以匿名登录的身份访问共享,因此访问被拒绝。
要解决此问题,您需要为 SQL Server 服务帐户启用约束委派。这个博客How To: SQL Server Bulk Insert with Constrained delegate (Access is Denied)有一个例子说明如何做到这一点,我真的希望如何“启用无约束委派”的步骤只是一个错字,因为无约束委派是只是普通的邪恶。
如果我抢先一步并且您使用 SQL 身份验证登录到 SQL Server,您将需要为您的 SQL 登录创建一个凭据并使用它来访问网络资源。见CREATE CREDENTIAL
。
归档时间: |
|
查看次数: |
55370 次 |
最近记录: |