揭秘Access数据库过大问题的几种解决方案(3)_Access数据库教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:access升级到SQLServer如何调整字段类型及函数:JET SQL 和T-SQL
ANSI SQL BIT数据类型与 the Microsoft Jet SQL BIT 数据类型不对应。而与 BINARY 数据类型对应。ANSI SQL 并没有等效于 Microsoft Jet SQL 的 BIT 的数据类型。 TIMESTAMP不再作为DATETIME的同义字被支持。 NUMERIC 不再作为 FLOAT或 DOUBLE的同义字被支持


Next
rsB.MoveNext
Wend
rs.UpdateBatch
End If
'返回合成后的新的记录集
Set UnionRs = rs
End Function
'调用合并函数
Private Sub Command1_Click()
Dim rs As Recordset
Set rs = UnionRs(rsA, rsB) '合并rsA和rsB
Set DataGrid1.DataSource = rs
End Sub


第二种:
 

当记录条数很多的时候,用循环的方法确实比较慢,比较快一点的,可以借助临时表来做:
假设你的两个数据库位置为:C:\testA.mdb和C:\testB.mdb
Dim cnA As New ADODB.Connection, cnB As New ADODB.Connection, rs As New ADODB.Recordset
cnA.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\TestA.mdb;User Id=admin;Password=;"
cnB.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\TestB.mdb;User Id=admin;Password=;"
cn.Execute ("select * into temp from tableA") '把tableA的数据插入到临时表temp里(具体的查询数据的语句自己改)
cn1.Execute ("INSERT INTO [C:\testA.mdb].temp SELECT * From tableB") 'tableB的数据追加testA的临时表temp里(具体的查询数据的语句自己改)
rs.Open "temp", cnA, adOpenDynamic, adLockReadOnly, adCmdTable




采用多个相同数据库,访问时随机选择数据库。

这个相对来说方便一点,不过不会减少数据库的体积,而是减少数据库的连接数。

也在一定程度上减轻了数据库的压力。

灵感来自镜像站点的访问。

conn.asp(通常为数据库文件)里面加个随机数。。

例如有10个相同数据库,那么随机小于10的整数就OK。

这样以前一个数据库的压力会分配给10个数据库。

虽然不一定平均。。(如果你算法不错,做到平均也不难)

记得后台要有个克隆数据库的操作选项,当然手工也可以。

OK。写完了。希望对各位程序员有点小小的作用。


期望你们写出更优秀的程序来。谢谢。



 

 

以上部分全文转载无修改。前几天采集了一个3万6千数据,但是发现空闲的主机上已经没有数据库空间了,转换为mdb后,产生了一个巨大的网站,现在经常宕机。

总而言之,如果使用access作为网站的数据库,集中生产HTML页面的时候,是很痛苦的。

分享:解读ACCESS的参数化查询
最近因项目需要用ACCESS做数据库开发WEB项目,看论坛上还许多人问及ACCESS被注入的安全问题,许多人解决的方法仍然是用Replace替换特殊字符,然而这样做也并没有起到太大做用,今天我就把我用ACCESS参数化查询的一些方法和经验和大家分享,希望对大家有所启

共3页上一页123下一页
来源:模板无忧//所属分类:Access数据库教程/更新时间:2010-02-26
相关Access数据库教程

Access数据库教程Rss订阅编程教程搜索