十几万买什么suv:?为什么VB数据库程序不能在没有安装VB的电脑上运行?

来源:百度文库 编辑:神马品牌网 时间:2024/04/26 14:39:00
我自己编制了一个VB程序,其中调用了由Access 2003创建的Access 97加密数据库并修改了扩展名为studat.dll,加载方式是在form_load的时候使用了:
Data1.Connect = "; pwd=我的密码"
Data1.DatabaseName = App.Path + "\studat.dll"
Data1.RecordSource = "class3"
结果发现此程序只能在装有VB6的电脑上运行,而在没有安装VB6的电脑上提示(经多台电脑测试):
Class not registered.
Looking for object with CLSID:
{00000010-0000-0010-8000-00AA006D2EA4}
经查找,根据微软网站(MSDN)上的介绍,对没有VB6的电脑复制了C:\Program Files\Common Files\Microsoft Shared\DAO\DAO350.DLL 并使用regsvr32加以注册。
再次运行时原错误提示消失,而变成了:
Data Access Error
而数据库控件仍不可用.
请问是不是VB数据库程序不能在没有安装VB的电脑上运行,还是缺少了什么文件?用什么方法可以解决(经试验发现转换数据库为Access2000/XP/2003均没能解决问题,消除密码似乎也不起作用)?
我测试程序而程序无法运行的平台是WindowsXP Home Edition (没有SP)
我编制程序的平台是WindowsXP Home Edition (SP1)
程序位于C:\

===============================================
MDAC2.8 安装后重启后仍然出现同一错误。

===============================================
经过进一步测试,只要在VB6中制作一个标准EXE,插入一个Data控件,把它的属性设置为:
Data1.Connect ="Access"
Data1.Databasename=任何一个数据库
Data1.Recordsource=数据库中的任何一张数据表
然后把这个只有一个控件的程序输出,发现在别的电脑上运行不了!出现Data Access Error(525)的错误。

对于缺少文件的问题,一般解决方案如下:
1.在安装vb的计算机上安装一个windows优化大师
2.运行你编得程序和优化大师自带的进程管理器
3.可以从进程管理器中察看一个进程调用到的window模块
4.记下所有模块名称并与一台新安装的window进行比较,发现新安装的window没有的模块,提取出这些模块,放在程序根目录下,至此,所有启动系统文件都全了。

安装以下MDAC试试看。
真是够怪异的问题,还是扔了Data控件把。

需要安装MDAC数据库驱动

你用VB自己带的打包程序打包就知道程序少了些什么东西的

安装最新的MDAC2.8就可以了

问题解决了没有?