sql server 存放图片 各位大侠!用sql语句怎样照片存入sql server数据库 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我建议存图片路径.如果想存入数据库,参考下面的内容:ntext、text 和 image用于存储大型非 Unicode 字符、Unicode 字符及二进制数据的固定长度和可变长度数据类型。Unicode 数据使用 UNICODE UCS-2 字符集。ntext可变长度 Unicode 数据的最大长度为 230 - 1 (1,073,741,823) 个字符。存储大小是所输入字符个数的两倍(以字节为单位)。ntext 在 SQL-92 中的同义词是 national text。text服务器代码页中的可变长度非 Unicode 数据的最大长度为 231-1 (2,147,483,647) 个字符。当服务器代码页使用双字节字符时,存储量仍是 2,147,483,647 字节。存储大小可能小于 2,147,483,647 字节(取决于字符串)。image可变长度二进制数据介于 0 与 231-1 (2,147,483,647) 字节之间。 注释下面的函数和语句可以与 ntext、text 或 image 数据一起使用。函数 语句 DATALENGTH READTEXT PATINDEX SET TEXTSIZE SUBSTRING UPDATETEXT TEXTPTR WRITETEXT TEXTVALID 一般建议存储路径 方便程序调用不过也可以用二进制数据流varbinary可以用ntext text image 2005以上还可以用varbinary(max) 假如你有一张testTable表有两个字段,如:FileName varchar(255)ExternalFile varbinary当想存储文件到表里面,可以使用SQL语句如:Insert into TestTable(FileName , ExternalFile)Select 'PitureName', BulkColumn FROM OPENROWSET(Bulk N'C:\FileLocation\PitureX.jpg', SINGLE_BLOB)可参考: http://www.microsoft.com/technet/prodtechnol/sql/2000/reskit/part3/c1161.mspx?mfr=true 不建议LZ将图片存成二进制流如果数据量较大的话,对于数据库服务器来讲的话是个不小的压力,建议将存放图片的路径做为字符串保存在字段中,然后通过查询反馈的图片路径对其进行相应的操作,这样一个方便管理,另外一方面在数据量比较大的情况下,也不会因为数据的执行效率问题造成不必要的麻烦。以上只是个人的一点意见,也许不专业,但是可以给LZ一些参考。 能帮忙解释一下select后面的语句吗?openrowset 和single_blob表示什么 保存到数据库 确实不是个好主意 那还不如保存到xml 或者txt 等等如果一定要保存到 数据 我建议在保存到数据库之前 把图片文件转成二进制文件在传 一个图片转成二进制以后 大小估计要增加30% 也不是什么好事。我估计唯一的好处就是传输之前不用在把图片转成二进制。其中性能,没有具体测试过。远点的还有 压缩 解压缩了随便说说。呵呵。 sql语句问题,求解 永生大哥。 如何取指定"前标"的后两位数的最大值加一? 程序分层要达到的目标是什么?比如降低耦合等? 用户 'myserver\Guest' 登录失败 Server2003系统里建立DSN连接sqlserver2000时,总是弹出sa用户登录及让输入密码的窗体??急急。。 主从明细查询 @@identity 并发量很高时,是否安全? 客户机可以连接数据库,为什么放在服务器端反而不行了? 得到每个字段的属性? 一个表自关联查询问题 高手请进 问题比较急
如果想存入数据库,参考下面的内容:ntext、text 和 image
用于存储大型非 Unicode 字符、Unicode 字符及二进制数据的固定长度和可变长度数据类型。Unicode 数据使用 UNICODE UCS-2 字符集。ntext可变长度 Unicode 数据的最大长度为 230 - 1 (1,073,741,823) 个字符。存储大小是所输入字符个数的两倍(以字节为单位)。ntext 在 SQL-92 中的同义词是 national text。text服务器代码页中的可变长度非 Unicode 数据的最大长度为 231-1 (2,147,483,647) 个字符。当服务器代码页使用双字节字符时,存储量仍是 2,147,483,647 字节。存储大小可能小于 2,147,483,647 字节(取决于字符串)。image可变长度二进制数据介于 0 与 231-1 (2,147,483,647) 字节之间。 注释
下面的函数和语句可以与 ntext、text 或 image 数据一起使用。函数 语句
DATALENGTH READTEXT
PATINDEX SET TEXTSIZE
SUBSTRING UPDATETEXT
TEXTPTR WRITETEXT
TEXTVALID
ExternalFile varbinary
当想存储文件到表里面,可以使用SQL语句如:Insert into TestTable(FileName , ExternalFile)
Select 'PitureName', BulkColumn FROM OPENROWSET(
Bulk N'C:\FileLocation\PitureX.jpg', SINGLE_BLOB)可参考: http://www.microsoft.com/technet/prodtechnol/sql/2000/reskit/part3/c1161.mspx?mfr=true
如果数据量较大的话,对于数据库服务器来讲的话是个不小的压力,建议将存放图片的路径做为字符串保存在字段中,然后通过查询反馈的图片路径对其进行相应的操作,
这样一个方便管理,另外一方面在数据量比较大的情况下,也不会因为数据的执行效率问题造成不必要的麻烦。以上只是个人的一点意见,也许不专业,但是可以给LZ一些参考。
如果一定要保存到 数据 我建议在保存到数据库之前 把图片文件转成二进制文件在传
一个图片转成二进制以后 大小估计要增加30% 也不是什么好事。我估计唯一的好处就是传输之前不用在把图片转成二进制。其中性能,没有具体测试过。远点的还有 压缩 解压缩了
随便说说。呵呵。