关于用ADO插入大量二进制数据的解决思路,欢迎讨论!!!
刚着手于ADO,可能有些地方理解的不对,望各位指正!
对于普通的数据插入,用_ConnectPtr连接的EXECUTE方法直接执行就可以。可是对于二进
制数据的插入,好象就只能用_RecordsetPtr选回的记录集的APPENDCHUNK()方法进行
操作了(不知还有没有其他方法)。对于插入操作,好象在开始记录集打开时需要以表方
式打开,其他以命令方式打开的如“select * from table_name where ..."打开的记录
集在做完插入操作后,数据好像存于记录集中并没有被更新到表中,(不知有没有什么方
发将记录集中的数据更新回表)。插入操作用的是_RecordsetPtr的ADDNEW和UPDATE方
法。另外,二进制数据操作比较多,如果每次打开,关闭表的话,回比较费时间,而且在
表体积增大后,打开一个表往往会造成超时。可是,如果始终打开这个表,数据库服务器
端又要维护这样一个缓冲的开销,随着表体积的动态增长,我不清楚回造成怎样的影响。
不知道,各位在这方面有没有什么好的想法和解决方案。我用的是SQL SERVER7.0的数据
库,对于SQL SERVER7.0的特性不熟悉,比如,打开一个表时它怎样对表中的数据进行
缓存,表数据量过大时,它是否分段缓存?对于表的更新如何体现?是否将新增加的数据
也放入缓冲区?对于一个普通的SQL语句直接插入数据的操作,打开一个表后,是否也得
先读入缓冲区,然后添加记录,再将缓冲区写回表,然后再关闭的?
请各位畅所欲言!!!!!!