ASE15.0.3问题请教,在线等待,盼急回,感谢(数据库中保存超大文件,PB中无法使用SYC sybase ase),

Yellho 2011-06-17 08:26:37
现就问题说明如下:

我想把程序的升级文件保存在数据库中,方便各个客户端下载,文件转成blob保存在数据库中代码如下:

f_sys_fileto_blob方法如下

global function boolean f_sys_fileto_blob (string sfilename, ref blob sfilecontent);
Integer loops, i
Long flen, fnum, bytes, newpos
Blob readblob

SetPointer(HOURGLASS!)

IF Not FileExists(sfilename) THEN Return False
flen = FileLength(sfilename)
fnum = FileOpen(sfilename, STREAMMODE!, READ!, LOCKREAD!)

IF flen > 32766 THEN loops = ((flen - 1) / 32766) + 1 ELSE loops = 1

FOR i = 1 To loops
bytes = FileRead (fnum, readblob)
IF i = 1 THEN sfilecontent = readblob ELSE sfilecontent = sfilecontent + readblob
newpos = newpos + bytes
FileSeek (fnum, newpos, FROMBEGINNING!)
NEXT
FileClose(fnum)

Return True
end function


if f_sys_fileto_blob(filesname,tot_b) = false then
dw_file.SETITEM(i,2,'上传失败')
return 1
end if
messagebox('文件转成blob后长度',len(tot_b)) 此处得到的文件长度和要传的文件大小一致


delete from fileupdate where filename = :fname;
commit;
insert into fileupdate (bbh,filename) values (:ls_ver,:fname);
commit;
Sqlca.autocommit = true
updateblob fileupdate set filenr = :tot_b where filename = :fname;


if SQLCA.SQLCode = -1 then
dw_file.SETITEM(i,2,'上传失败')
MessageBox(gs_mess,SQLCA.SQLErrText,Information!)
return -1
else
dw_file.SETITEM(i,2,'上传成功')
commit;
end if
setnull(tot_b )

selectblob filenr into :tot_b from fileupdate where filename = :fname;
messagebox('文件保存数据中后长度',len(tot_b)) //此处得到的文件长度只的 32767
Sqlca.autocommit = false

如果文件大小小于32767 的话,可以保存在数据库中,也可以将数据库中的blob 读取,写成正确的文件,但文件超过32767就不行,请高手指点一下


我在PB11.5开发环境下,想用syc sybase ase 连接数据库,连接不成功 提示很多的 ?????????????????(在dsedit中是能ping成功的)

我在PB9开发环境下,想用syc sybase ase 连接数据库, 根本就不能new profile 提示未安装正确,但确实不知道怎么安装,不知道是不是版本高了的原因我的ASE用的15.0.3的开发版


PB9用syc sybase ase 专用连接如何连接ase15的数据库呢?要怎么安装请说明谢谢!
...全文
71 点赞 收藏 3
写回复
3 条回复
iihero 2012年03月19日
用这个:
SQLCA.dbParm = "DBTextLimit = '1000000'"
再试试看
回复 点赞
Yellho 2012年03月18日
设置了还是一样的
回复 点赞
andkylee 2011年06月18日
不管使用什么接口来连接sybase数据库。在连接属性中设置每次读取text类型字段的最大长度set textsize 10000000

回复 点赞
发动态
发帖子
Sybase
创建于2007-09-28

2408

社区成员

2.5w+

社区内容

Sybase相关技术讨论区
社区公告
暂无公告