Sql Server写入图像时(writetext)有字节限制(几百k),如何在Sql Server中写入超过1m的图像等(100分)

  • 主题发起人 主题发起人 唐晓锋
  • 开始时间 开始时间
晓峰?这问题好象讨论过不止一次了呀,是32K吗?设置别名中的Blob Size,大
点就成呀,或者试试 SQL DIRECT?ODBC?
 
但是Blob Size设的很大会不会影响性能呢?
 
BLOB SIZE最大为1000K,不到1M,
所以设置BLOB SIZE解决不了根本
问题。
具体要参看BDE administrator中
关于BLOB SIZE的帮助。
关键是Ttable中的设置。
 
我用的是store procedure和liukeen有什么大的关系吗?
 
没办法,我实验多次,只有设置BLOB SIZE,一般把图形压缩为JPG,多数可以解决
要么,直接用ODBC或者NATIVE API试试。
一般说,MSSQL对太大的数据会影响性能,推荐写到指定文件中,用VARCHAR来保存文
件名即可。
BLOB SIZE 对性能的影响估计无非是多分配点内存而已。
 
哈哈!我用InterBase保存一个5M的JPG,又快又好!
 
barton:
要我现在"改道"太晚了,还是请大家帮我研究一下
 
晓峰:
我看了,只要用到 BDE,类似问题无法解决,至少我不会。
如你程序已经写好了,且未用到 BDE API,那么换 ODBC 98
是个好注意(BDE-ODBC-SQL SERVER也有问题:(
不知道 INTERBASE 写 5 M 图象是怎么做的,没用 BDE?
如果用 BDE,我不知道,有没有 appendstream 之类的函数
(我没找到)
 
SQL Server的Writetext对长度的限制肯定不止1M!
我用C语言就干过.
问题出在BDE上.
BTW,你是用ODBC还是SQL Server的Client连接?
只要把BLOB SIZE设置好就可以了.
还有一种可能出在你的SQL Server的BLOB设置上.可用ISQL调整其大小.
 
当然是 BDE 的问题。BDE BLOB SIZE 最大 1000K//小于1M:(
 
分多次写?
类似:
update table set imagefield = imagefield + '0x010f3366....' where 条件
这样可以吗?
 
呵呵,没试过,我现在机器上的MSSQL 7过期了//MS 正版的测试版:-(
 
对了, sql语句长度有限制吗?
如果是4G, 那直接把图象转成字符串写在sql语句中不就行了?
 
有,多少记不得了,32K?64K?
 
另一只眼的分多次写是条思路,代价是不能直接用DBImage控件,不过,你既然
存JPG想必不用DBImage,而用BLOB流操作。既然这样,还有一种更简单的思路是
把一条记录放到多条记录中,作为主表的详表。
 
为什么不能用dbimage? 难道dbimage读取时也有几百k的限制?
我可是分多次写到同一个field里呀.
 
呵呵, 还是使用ODBC98吧, 我保存BLOB时没有碰到问题的说!
 
鬼子的答案:
Question:
Using BLOB I/O an error, 'Memo Too Large' is returned. The error
is: General SQL Error: 7134, unmapped [text: text table and
table reference by the text pointer disagree.]. This is not a
problem if the tabledo
es not contain a unique index. In this
case all BLOB information is retrieved through the execution of
the query. Whatdo
es this error mean and how can I resolve it?
Answer:
A fix to MSSQL server is available from Microsoft:
ftp://ftp.microsoft.com/bussys/sql/transfer/sql265i.exe - Intel Patch or
ftp://ftp.microsoft.com/bussys/sql/transfer/sql265a.exe - Alpha Patch
The password to use when extracting the files
is "6.50.265" (without the quotation marks). To extract with the password, the syntax is:
sql265i.exe -s6.50.265
 
接受答案了.
 
后退
顶部