我很想知道它。 我必须将超过1,200,000条记录放入访问数据库进行备份。 谢谢你回答我。
答案 0 :(得分:6)
硬限制是2 Gb Access数据库文件大小。但是,Tim表示,根据记录数量可能存在性能问题。
但是,难以量化的限制可能是Access可以创建的页数。很可能Access在插入记录时每个记录使用一个页面。现在,鉴于Access 2000 / Jet 4.0和更新版本具有4K页面大小,每2 Gb数据库最多只能有500,000个页面。 (大致由于系统开销。)现在,您可以通过确保将Access数据库文件专门锁定为Access 2000 / Jet 4.0来解决此问题,然后更新可能会在页面上插入多个记录。
稍后添加:现在,如果您执行压缩和修复,则会在一个页面中放置尽可能多的记录。如果您要一次添加所有记录,那么您可能会遇到更多问题。但是,如果你坚持说600K,紧凑,其余这可能会给你更多的空间。
但是我会建议用这些记录来查看其他替代方案。
答案 1 :(得分:3)
托尼的回答是正确的。
出于轶事的目的,我可以告诉你我有一个~300 MB .mdb,其中一个表目前拥有超过240万条记录。我们没有.mdb的腐败,它已经在生产中使用了三年多。它位于一个网络驱动器上,由大约五个不同的人更新(只读了10个以上)。
我们没有遇到任何问题,但是将数据存储大小升级到SQL Server肯定是在待办事项列表中。
答案 2 :(得分:1)
MS Access调用MDB文件数据库,但它们实际上只是表。您的数据库由数千个MDB文件组成,每个文件包含2 GIG数据。例如,每个MDB文件可以保存美国50个状态中的1个的数据。因此,对于50个MDB文件,数据库中有100 GIG的存储空间。或者您可能有50个客户端并将每个客户端存储在单独的MDB文件中,但它只是一个数据库,只是由每个客户端存储在单独的文件中。在Dynamic Server问世之前,Informix标准引擎(SE)就像今年一样工作。我喜欢看到我的数据库文件。我不喜欢在Cloud 9上保存的Dynamic Server的Steam数据库文件。我不喜欢DS在不同的分区上存储表。尝试在2个表上运行SQL语句,每个表都在一个单独的分区上,看看性能有多糟糕。 SQL Server可能是同样的方式。这就是为什么我将MS-Access 97数据库用于通过ODBC连接并管理所有用户流量的所有Win32 Perl应用程序的原因。我编译的程序包含密码,因此除了通过Perl应用程序之外,没有人可以编辑数据库。
答案 3 :(得分:0)
我以前在Access中使用了数百万行。我有十几个表/数据库,每个数据库有数百万行,为一个拥有50个商店的零售连锁店的会计部门运行大部分数据库工作。 (我们有一位AccPac顾问每月进入一次,持续一两个小时)。
访问不是该工作的正确解决方案。
我建议查看SQL Server。我已经使用SQL Server全职工作了11年了,我强烈建议你看看'Access Data Projects'。
如果您升迁数据库,Access会将其称为“客户端 - 服务器应用程序”。
当然,我是一个SQL Server的人,所以这些家伙会声称我有偏见。
答案 4 :(得分:-4)
我们无法将无限数据存储到“MS Access”数据库......
“Ms Access 2007”将允许您仅存储最多2GB的文件大小,包括表格,模块,报告等...
如果数据库达到2GB以上的大小,则在编写编码时会抛出错误...