菜鸟做了一个delphi+ado+access程序,但客户总往表里存图片,导致这个ACCESS文件超过2个G了,导致delphi程序不能再往里插入数据了。

wanglong20002000 2011-04-13 03:54:32
高手们啊,有什么好的办法吗?能否允许这个ACCESS文件超过2个G,而程序又能正常使用呢??现在一用软件,就提示“无效的参数量”,难道只能升级到sqlserver吗??还是说用office2010就能解决这个问题呢?
...全文
319 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
jenhon 2011-04-20
  • 打赏
  • 举报
回复
这样的问题碰过,不过我好运点,一开始就使用mssql,一直没有碰到容量导致性能降低的情况。

另外自己也采取一些措施降低容量——重新管理图像的大小,所有相片入库前都处理成为最大多少乘多少的规格。这个得看具体需求,象显示、打印用的图片,400~600点的宽度一般都够,除非做设计用的图库才需要2000点以上的宽度。

最近,由于其他原因,重写代码,增加了bmp图片存盘时压缩成jpg的功能——直接将数据库缩小到原来1/20。
风之谷 2011-04-19
  • 打赏
  • 举报
回复
1:建立文档服务器 通过寻址获得文件

2:讲图像进行压缩 BMP同一只转为JPG 然后进行 流压缩存储
xw310 2011-04-19
  • 打赏
  • 举报
回复
图片应该保存在一个目录
数据库的记录里只需要保存相对路径
山东蓝鸟贵薪 2011-04-18
  • 打赏
  • 举报
回复
[Quote=引用楼主 wanglong20002000 的回复:]
高手们啊,有什么好的办法吗?能否允许这个ACCESS文件超过2个G,而程序又能正常使用呢??现在一用软件,就提示“无效的参数量”,难道只能升级到sqlserver吗??还是说用office2010就能解决这个问题呢?
[/Quote]
你呀,还是升级为MSSQL标准数据库吧,这个没有“限制”的,
MSACCESS的数据库最大也就2G了》》》》》》》》》》》。。
alsamsung 2011-04-16
  • 打赏
  • 举报
回复
楼上建议不错
wooden954 2011-04-16
  • 打赏
  • 举报
回复
同时对图片格式进行限制:只存JPG类的压缩图,不能存储类似于BMP的图,当然从界面上不需要限制此条件,只需要判断用户存储的图片格式,需要不是压缩格式,在存库前在程序中对其进行格式转换后再存储即可。
wooden954 2011-04-16
  • 打赏
  • 举报
回复
把原来Access文件中的表拆开,分别存放到几个文件中,其中一个存放数据,另外一个或者几个存图片,如果图片数量太多,需要软件对图片数据库进行名称管理,即需要决定图片数据库的名称、存储策略、也可能需要对图片库的合并与拆分等
mantti 2011-04-15
  • 打赏
  • 举报
回复
ACCESS性能太低,建议用SQL Server,还有免费版的SQL Server Express
mjp1234airen4385 2011-04-15
  • 打赏
  • 举报
回复
数据已经2g了,还是用access。
tangfuyou 2011-04-15
  • 打赏
  • 举报
回复
建议:
1、将员工图片用光影魔术手处理一下,像素就变小了。
2、使用MSSQL吧,支持大文件。
kye_jufei 2011-04-14
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wr960204 的回复:]
引用 2 楼 kye_jufei 的回复:

1.可以考慮換方式存取;
2.要麼將電腦邏輯盤的分區格式修改為NTFS,NTFS分区则没有这种限制...


HTML code
FAT32转换成NTFS
开始→运行→键入cmd按回车,在窗口“command prompt”下,输入命令“convert C: /FS:NTFS”按回车,重新启动电脑,即将FAT32 转换 NTSF 格式。……
[/Quote]
換方式存於目錄下,不存數據庫,再去讀取。。。
sharebei 2011-04-14
  • 打赏
  • 举报
回复
换数据库吧
haitao 2011-04-14
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 k_harris 的回复:]
我用SQL SERVER的数据库,现在给公司写人事考勤管理系统,其中职员照片我不想保存在数据库上,但这个系统是除了总公司还有外地的几个分公司在用,保存图片在本地就只有本机一个人能看了。都不知道如何处理好。
[/Quote]

把 存图片的固定【根】目录 设置为 webserver的一个下载目录,就行了
佛山大虾 2011-04-14
  • 打赏
  • 举报
回复
我用SQL SERVER的数据库,现在给公司写人事考勤管理系统,其中职员照片我不想保存在数据库上,但这个系统是除了总公司还有外地的几个分公司在用,保存图片在本地就只有本机一个人能看了。都不知道如何处理好。
差布多先生 2011-04-14
  • 打赏
  • 举报
回复
图片存在其他地方,数据库只负责存储图片的存放信息,需要时调用数据库得到图片存放信息,再根据信息调用图片
ProgramSir 2011-04-14
  • 打赏
  • 举报
回复
存路径吧,
lyhoo163 2011-04-14
  • 打赏
  • 举报
回复
建议:
1、将员工图片压缩或缩小像素值,存在数据库中。
2、使用MSSQL吧,支持大文件。
3、对于一般的图像文件,可以存放在指定目录。再数据库中,保存该图像文件的绝对目录。
4、如果的C/S或三层数据库,可以做一个FTP文件共享机制。让服务器与客户端,指一个目录“同步”共享。
休闲中 2011-04-13
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 sz_haitao 的回复:]

图片应该都保存在一个固定目录下的各级子目录
数据库的记录里只需要保存相对路径
[/Quote]

数据库保存路径,减少访问时间,和数据库的存储压力
haitao 2011-04-13
  • 打赏
  • 举报
回复
图片应该都保存在一个固定目录下的各级子目录
数据库的记录里只需要保存相对路径
cntigercat 2011-04-13
  • 打赏
  • 举报
回复
如果非要把图往数据库里存,先把图片压缩下
加载更多回复(6)

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧