我想将PDF文件插入SQL Server。
我尝试了2个不同的查询,但仍然遇到同样的错误:
Msg 4861,Level 16,State 1,Line 11
无法批量加载,因为无法打开文件“C:\ Users \ XXX \ Desktop \ filename.pdf”。操作系统错误代码3(系统找不到指定的路径。)。
我的代码:
INSERT INTO [Testing].[dbo].[table00](FileContent)
SELECT BulkColumn
FROM OPENROWSET(BULK N'C:\Users\XXX\Desktop\filename.pdf', SINGLE_BLOB) as TheFile
INSERT INTO [Testing].[dbo].[table00](FileContent, Blob)
SELECT 0, *
FROM OPENROWSET(BULK N'C:\Users\XXX\Desktop\filename.pdf', SINGLE_BLOB) rs
有什么建议吗?如何解决这个错误?谢谢!
背景:
我正在尝试将PDF文件插入到我的表FileContent
中数据类型为Image的特定列testing.dbo.table00
中。
答案 0 :(得分:0)
听起来该文件不存在或SQL Server无权访问它。
请记住,传递给OPENROWSET BULK
的路径相对于SQL Server,不到您执行查询的计算机(除非该计算机是SQL Server) )。因此,在您的情况下,C:\Users\XXX\Desktop\filename.pdf
必须在SQL Server 上存在才能使您的查询成功。
如果服务器上存在该文件但您仍然收到此错误,则SQL Server可能无权访问该文件。要检查此项,请右键单击该文件,选择属性,安全性,高级,然后检查SQL Server帐户的有效访问权限。如果该帐户无权访问该文件,请分配所需的权限。