Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access Microsoft Access文件大小_Ms Access_Ms Access 2007_Ms Access 2003 - Fatal编程技术网

Ms access Microsoft Access文件大小

Ms access Microsoft Access文件大小,ms-access,ms-access-2007,ms-access-2003,Ms Access,Ms Access 2007,Ms Access 2003,在处理不同的Access版本2002、2003和2007时,我注意到filename.accdb的给定Access文件的文件大小远远大于*.mdb文件类型的相同文件大小 我通过另存为Access 2000-2003 batabase将文件从2007.acccdb转换为2003.mdb 有人能解释一下原因吗 另一个问题是,为了实现强大的数据库和安全的存储数据,首选的选项*.mdb或*.accdb文件类型是什么?要知道,由于每天的数据存储,这两种文件类型的大小都在日复一日地变大 提前谢谢 mhega

在处理不同的Access版本2002、2003和2007时,我注意到filename.accdb的给定Access文件的文件大小远远大于*.mdb文件类型的相同文件大小

我通过另存为Access 2000-2003 batabase将文件从2007.acccdb转换为2003.mdb

有人能解释一下原因吗

另一个问题是,为了实现强大的数据库和安全的存储数据,首选的选项*.mdb或*.accdb文件类型是什么?要知道,由于每天的数据存储,这两种文件类型的大小都在日复一日地变大

提前谢谢


mhegazy

实际上,您是否尝试将该应用程序从mdb格式转换为accDB格式?文件大小不应以有意义的方式更改。所以,请尝试这样的转换

事实上,据我所知,存储大小没有任何不同。实际上,转换与紧凑型+修复非常相似。由于未编译代码,因此生成的整个文件可能会小一些。在此过程中,将删除已编译的二进制代码部分

因此,作为一般规则,使用mdb文件或accDB文件时,从Access 2000起的文件大小不应不同

当然,从access 97文件转换是另一回事。2000年以前的格式不支持国际字符集。2000年以前的版本没有将文本数据存储为uni码,而是使用ASCII码

因此,从理论上讲,从较旧的97格式升级到2000或更高版本实际上可能会使您的存储需求增加两倍。这意味着数据库中保存的每个文本字符都需要两个字符,这就是uni代码的工作方式

为了弥补数据存储需求的大幅增加,而2 gig文件没有相应增加,Access 2000及以后引入了数据压缩技术。这种压缩不能与紧凑型+修复混淆

可以逐列启用/禁用压缩。例如:

因此,不管这个问题如何,您都不应该看到2003格式文件与accDB文件大小格式之间的文件大小有任何差异。存储要求是相同的,您看到差异的唯一原因是转换过程中出现的紧凑+修复和清除多余垃圾。实际上,通过执行C+R和反编译,然后再执行另一个C+R,您可以在不进行转换的情况下获得相同的文件大小

因此,例如,尝试将减小大小的mdb转换为accDB–您注意到文件没有增加–事实上,如前所述,在从该mdb转换为accDB的过程中,您经常会看到大小减小。因此,这同样是由于在转换过程中删除了垃圾,而不是因为您使用的是mdb文件而不是accDB文件,因此也不是因为使用mdb而不是accDB

如上所述,上述规则的唯一例外是2000年以前的格式mdb。它们没有uni代码,因此文本数据理论上应该使用新格式的两倍存储。然而,随着这些文本列的压缩技术的引入,实际上您的存储需求并没有增加——事实上,在某些情况下,与2000年以前相比,可能会稍微少一些,并且没有压缩列。这是因为文本数据往往压缩得非常好

至于使用什么文件格式?对于给定的版本,我将使用默认的文件格式。因此,在您的情况下,我建议最好使用accDB

阿尔伯特·D·卡尔拉尔访问MVP


加拿大阿尔伯塔省埃德蒙顿

实际上,您是否尝试将该应用程序从mdb格式转换为accDB格式?文件大小不应以有意义的方式更改。所以,请尝试这样的转换

事实上,据我所知,存储大小没有任何不同。实际上,转换与紧凑型+修复非常相似。由于未编译代码,因此生成的整个文件可能会小一些。在此过程中,将删除已编译的二进制代码部分

因此,作为一般规则,使用mdb文件或accDB文件时,从Access 2000起的文件大小不应不同

当然,从access 97文件转换是另一回事。2000年以前的格式不支持国际字符集。2000年以前的版本没有将文本数据存储为uni码,而是使用ASCII码

因此,从理论上讲,从较旧的97格式升级到2000或更高版本实际上可能会使您的存储需求增加两倍。这意味着数据库中保存的每个文本字符都需要两个字符,这就是uni代码的工作方式

为了弥补数据存储需求的大幅增加,而2 gig文件没有相应增加,Access 2000及以后引入了数据压缩技术。这种压缩不应与之混淆 th紧凑+维修

可以逐列启用/禁用压缩。例如:

因此,不管这个问题如何,您都不应该看到2003格式文件与accDB文件大小格式之间的文件大小有任何差异。存储要求是相同的,您看到差异的唯一原因是转换过程中出现的紧凑+修复和清除多余垃圾。实际上,通过执行C+R和反编译,然后再执行另一个C+R,您可以在不进行转换的情况下获得相同的文件大小

因此,例如,尝试将减小大小的mdb转换为accDB–您注意到文件没有增加–事实上,如前所述,在从该mdb转换为accDB的过程中,您经常会看到大小减小。因此,这同样是由于在转换过程中删除了垃圾,而不是因为您使用的是mdb文件而不是accDB文件,因此也不是因为使用mdb而不是accDB

如上所述,上述规则的唯一例外是2000年以前的格式mdb。它们没有uni代码,因此文本数据理论上应该使用新格式的两倍存储。然而,随着这些文本列的压缩技术的引入,实际上您的存储需求并没有增加——事实上,在某些情况下,与2000年以前相比,可能会稍微少一些,并且没有压缩列。这是因为文本数据往往压缩得非常好

至于使用什么文件格式?对于给定的版本,我将使用默认的文件格式。因此,在您的情况下,我建议最好使用accDB

阿尔伯特·D·卡尔拉尔访问MVP


加拿大阿尔伯塔省埃德蒙顿

Access不是大容量系统关键型数据库的最佳选择。转换后是否进行了压缩和修复?Access不是大容量系统关键型数据库的最佳选择。转换后是否进行了压缩和修复?