作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我可以在 C# 中使用这个函数来获取二进制图像
public static byte[] ImageToBinary(string imagePath)
{
var fileStream = new FileStream(HttpContext.Current.Server.MapPath("~/" + imagePath), FileMode.Open, FileAccess.Read);
var buffer = new byte[fileStream.Length];
fileStream.Read(buffer, 0, (int)fileStream.Length);
fileStream.Close();
return buffer;
}
但我需要在sql中做同样的事情
我用这个查询
(SELECT * FROM OPENROWSET(BULK N'C:\Users\0000001_computers_415.jpeg', SINGLE_BLOB) AS CategoryImage)
但是我得到一个错误:
Msg 4861, Level 16, State 1, Line 1
Cannot bulk load because the file "C:\Users\0000001_computers_415.jpeg" could not be opened. Operating system error code 3(The system cannot find the path specified.).
最佳答案
您的 SQL Server 只能找到它自己上下文中的文件。您必须将该文件复制到 SQL Server 计算机上的目录中以使用本地权限访问它,或者您必须定义共享路径并让您的 SQL Server 从那里读取。
您的 c:\users\...
很可能是您自己本地机器的驱动器。
关于c# - 如何在 SQL 中获取二进制图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36405852/
我是一名优秀的程序员,十分优秀!