将PDF插入SQL Server

时间:2017-03-21 09:51:56

标签: sql sql-server pdf

我想将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中。

1 个答案:

答案 0 :(得分:0)

听起来该文件不存在或SQL Server无权访问它。

请记住,传递给OPENROWSET BULK的路径相对于SQL Server,到您执行查询的计算机(除非该计算机是SQL Server) )。因此,在您的情况下,C:\Users\XXX\Desktop\filename.pdf必须在SQL Server 上存在才能使您的查询成功。

如果服务器上存在该文件但您仍然收到此错误,则SQL Server可能无权访问该文件。要检查此项,请右键单击该文件,选择属性,安全性,高级,然后检查SQL Server帐户的有效访问权限。如果该帐户无权访问该文件,请分配所需的权限。