想向各位大虾请教一个问题:VB+ACCESS应用程序发布(单机使用\ADO连接)
1.ODBC
2.连接字符串
假定应用程序所在目录下有一名为Student.mdb数据库
采用第一种方式时只须首先创建Student.mdb的ODBC驱动(假设命名为student),然后将ADO的ODBC数据源名称设为student即可.但是,在应用程序安装到客户机上时,客户可能不知如何创建Student.mdb的ODBC驱动,所以在运行程序时,就会出现错误!有没有一种方法可以将这种驱动导出直接打包到安装程序中?
采用第二种方式时,ADO的连接字符串属性中包含有数据库文件所在的路径(绝对路径),而在应用程序安装到客户机上时,数据库所在的路径往往和ADO中的连接字符串包含的路径是不一致的.那么应用程序在运行时,也会出现错误!有没有一种方法可以将ADO的连接字符串中的路径设定为相对路径,类似于App.path?
不知大家以前采用的是什么办法来解决这个问题,恳请赐教!
如有源代码提供,本人将感激涕零!
谢谢!
1.ODBC
2.连接字符串
假定应用程序所在目录下有一名为Student.mdb数据库
采用第一种方式时只须首先创建Student.mdb的ODBC驱动(假设命名为student),然后将ADO的ODBC数据源名称设为student即可.但是,在应用程序安装到客户机上时,客户可能不知如何创建Student.mdb的ODBC驱动,所以在运行程序时,就会出现错误!有没有一种方法可以将这种驱动导出直接打包到安装程序中?
采用第二种方式时,ADO的连接字符串属性中包含有数据库文件所在的路径(绝对路径),而在应用程序安装到客户机上时,数据库所在的路径往往和ADO中的连接字符串包含的路径是不一致的.那么应用程序在运行时,也会出现错误!有没有一种方法可以将ADO的连接字符串中的路径设定为相对路径,类似于App.path?
不知大家以前采用的是什么办法来解决这个问题,恳请赐教!
如有源代码提供,本人将感激涕零!
谢谢!
应该不会出现这种情况,安装时数据库不是放在应用程序同目录下吗??如果数据库是用户自己
选择安装位置,在程序运行时可以让用户输入数据库所在位置,来取得路径
Dim cn As New adodb.Connection
'连接
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.path & "\test.mdb;Persist Security Info=true"
dim DatabaseFile as string '完整数据库位置及文件名
if right(app.path,1)<>"\" then
DatabaseFile=app.path &"\student.mdb"
else
DatabaseFile=app.path &"student.mdb"
end if
App.Path取得的就是应用程序所在的路径,把数据库和应用程序放在一个目录下就可以了!