Table1->Insert();
TBlobField *pictureField = (TBlobField *)Table1->FieldByName("picture");
pictureField->LoadFromFile("123.txt");
Table1->Post();
在文件123.txt小于32k时,这段代码没问题。但当123.txt大于32k,并执行到Table1->Post()时,C++ Builder会报"Invalid Blob Length"的错。
请问高手这个问题是怎么引起的,怎样解决。
5 个解决方案
#1
这个问题,我以前也碰过,不知你用的什么数据引擎,BDE?ADO?ODBC?
BDE肯定是有问题的,BDE有个参数BLOB SIZE它缺省为32K,大于32K是不能存入数据库的,改这个参数的值也不能完全解决问题(有个老外,他将此值改为-1,我没在SQLSERVER下试过,不过oracle肯定是不行的)
所以,建议你用ADO来连sqlserver,并将ado升到2.7版以上(现在应该是2.8版了),应该可以解决
BDE肯定是有问题的,BDE有个参数BLOB SIZE它缺省为32K,大于32K是不能存入数据库的,改这个参数的值也不能完全解决问题(有个老外,他将此值改为-1,我没在SQLSERVER下试过,不过oracle肯定是不行的)
所以,建议你用ADO来连sqlserver,并将ado升到2.7版以上(现在应该是2.8版了),应该可以解决
#2
Thanks, keiy.
再请教两个问题。
BDE上的参数怎么修改?
要升级ADO,怎么升?
再请教两个问题。
BDE上的参数怎么修改?
要升级ADO,怎么升?
#3
到网上DOWNLOAD MADC2.8
#4
1.BDE上的参数怎么修改?
如果你是用BDE已建好别名,在bde administrator 中直接点别名
改BLOB SIZE
如果你是动态建的别名在bde administrator中
Configuration->Drivers->Native->MSSQL
改BLOB SIZE
2.要升级ADO,怎么升?
到
http://www.microsoft.com/downloads/details.aspx?FamilyID=6c050fe3-c795-4b7d-b037-185d0506396c&DisplayLang=zh-cn
下载mdac2.8,安装就可以了
如果你是用BDE已建好别名,在bde administrator 中直接点别名
改BLOB SIZE
如果你是动态建的别名在bde administrator中
Configuration->Drivers->Native->MSSQL
改BLOB SIZE
2.要升级ADO,怎么升?
到
http://www.microsoft.com/downloads/details.aspx?FamilyID=6c050fe3-c795-4b7d-b037-185d0506396c&DisplayLang=zh-cn
下载mdac2.8,安装就可以了
#5
MARK一个
#1
这个问题,我以前也碰过,不知你用的什么数据引擎,BDE?ADO?ODBC?
BDE肯定是有问题的,BDE有个参数BLOB SIZE它缺省为32K,大于32K是不能存入数据库的,改这个参数的值也不能完全解决问题(有个老外,他将此值改为-1,我没在SQLSERVER下试过,不过oracle肯定是不行的)
所以,建议你用ADO来连sqlserver,并将ado升到2.7版以上(现在应该是2.8版了),应该可以解决
BDE肯定是有问题的,BDE有个参数BLOB SIZE它缺省为32K,大于32K是不能存入数据库的,改这个参数的值也不能完全解决问题(有个老外,他将此值改为-1,我没在SQLSERVER下试过,不过oracle肯定是不行的)
所以,建议你用ADO来连sqlserver,并将ado升到2.7版以上(现在应该是2.8版了),应该可以解决
#2
Thanks, keiy.
再请教两个问题。
BDE上的参数怎么修改?
要升级ADO,怎么升?
再请教两个问题。
BDE上的参数怎么修改?
要升级ADO,怎么升?
#3
到网上DOWNLOAD MADC2.8
#4
1.BDE上的参数怎么修改?
如果你是用BDE已建好别名,在bde administrator 中直接点别名
改BLOB SIZE
如果你是动态建的别名在bde administrator中
Configuration->Drivers->Native->MSSQL
改BLOB SIZE
2.要升级ADO,怎么升?
到
http://www.microsoft.com/downloads/details.aspx?FamilyID=6c050fe3-c795-4b7d-b037-185d0506396c&DisplayLang=zh-cn
下载mdac2.8,安装就可以了
如果你是用BDE已建好别名,在bde administrator 中直接点别名
改BLOB SIZE
如果你是动态建的别名在bde administrator中
Configuration->Drivers->Native->MSSQL
改BLOB SIZE
2.要升级ADO,怎么升?
到
http://www.microsoft.com/downloads/details.aspx?FamilyID=6c050fe3-c795-4b7d-b037-185d0506396c&DisplayLang=zh-cn
下载mdac2.8,安装就可以了
#5
MARK一个