Php 将二进制数据传递到SQL Server 2008中的存储过程
我想找出一种在数据库中存储文件的方法。我知道建议将文件存储在文件系统而不是数据库中,但我正在从事的工作更倾向于使用数据库存储这些图像(文件) 还有一些限制。我不是管理员用户,我必须创建存储过程来执行所有命令。到目前为止,这并没有太大的困难,但我无法在我的一生中建立一种在数据库中存储文件(图像)的方法 当我尝试使用BULK命令时,我收到一个错误,提示“您没有使用BULK load语句的权限”。BULK实用程序似乎是将文件上载到数据库的简单方法,但如果没有权限,我必须找到一个解决方案 我决定使用带有文件上传输入类型的HTML表单,并用PHP处理它。PHP调用存储过程并传入文件的内容。问题是,现在它说一个参数的最大长度只能是128个字符 现在我完全被卡住了。我没有使用bulk命令的权限,而且我可以传递给SP的参数的最大长度似乎是128个字符 我本以为会遇到问题,因为二进制字符和ascii字符不能很好地混合在一起,但我已经走到了死胡同 谢谢大卫·海登的博客 这是一个c#示例,但在PHP中的步骤应该类似:Php 将二进制数据传递到SQL Server 2008中的存储过程,php,sql,sql-server,bulkinsert,binary-data,Php,Sql,Sql Server,Bulkinsert,Binary Data,我想找出一种在数据库中存储文件的方法。我知道建议将文件存储在文件系统而不是数据库中,但我正在从事的工作更倾向于使用数据库存储这些图像(文件) 还有一些限制。我不是管理员用户,我必须创建存储过程来执行所有命令。到目前为止,这并没有太大的困难,但我无法在我的一生中建立一种在数据库中存储文件(图像)的方法 当我尝试使用BULK命令时,我收到一个错误,提示“您没有使用BULK load语句的权限”。BULK实用程序似乎是将文件上载到数据库的简单方法,但如果没有权限,我必须找到一个解决方案 我决定使用带有
通常,我们不会在SQL中传递二进制数据。我们将文件上载到服务器,然后将图像从服务器加载到数据库中 将图像从文件加载到数据库中:
UPDATE images
SET image = LOAD_FILE('images/myimage.jpg')
WHERE image_id = 1234
将图像返回到文件:
SELECT image
INTO DUMPFILE 'images/myimage.jpg'
FROM images
WHERE image_id = 1234
通常,我们不会在SQL中传递二进制数据。我们将文件上载到服务器,然后将图像从服务器加载到数据库中 将图像从文件加载到数据库中:
UPDATE images
SET image = LOAD_FILE('images/myimage.jpg')
WHERE image_id = 1234
将图像返回到文件:
SELECT image
INTO DUMPFILE 'images/myimage.jpg'
FROM images
WHERE image_id = 1234
问题已经问了好几次了……我已经被这个问题困扰了几天,我四处寻找答案,甚至问了另一个类似的问题。问题已经问了好几次了……我被这个问题困扰了几天,我四处寻找答案,甚至问了另一个问题类似的问题。谢谢你的例子。我要去参加一个会议来解决这个问题,因为现在我认为我没有正确的权限让它工作。这个答案应该有更多的细节-链接的文章现在已经没有了。链接不再有效了。谢谢你的例子。我要去参加一个会议来解决这个问题,因为现在我认为我没有正确的权限让它工作。这个答案应该有更多的细节-链接的文章现在已经不存在了。链接不再有效