一般地说发布一个PB应用除应用程序部件本身外,还应该包含如下文件及相关 *** 作:
1. PowerBuilder运行时动态链接库( Runtime Library )。
2. 数据库接口:一方面包括PB提供的数据库专用接口或ODBC接口程序,另一方面包括不同数据库厂商提供的ODBC数据库驱动程序。
3. ODBC数据源的配置。
二.PowerBuilder运行时动态链接库( Runtime Library )。
不同版本的PB所需要的运行时动态链接库文件不尽相同,但库名有相似的地方,这些DLL都必须包含在应用程序目录或系统目录当中:
PB6.5所需文件:
必需 PBVM60.DLL PowerBuilder 虚拟机
可选 PBDWE60.DLL DataWindow 数据窗口引擎
可选 PBRTC60.DLL 超文本控件
可选 PBTRA60.DLL 数据库访问跟踪
可选 PBODB60.DLL PB的ODBC接口
可选 PBIN760.DLL INFORMIX 接口
可选 PBMSS60.DLL Microsoft SQL Server接口
可选 PBSYC60.DLL Sybase SQL Server接口
可选 PBO7360.DLL/PBO7260.DLL Oracle Version接口
PB7.0所需文件:
必需 PBVM70.DLL PowerBuilder 虚拟机
必需 LIBJCC.DLL PowerBuilder 库管理
可选 PBDWE70.DLL DataWindow 数据窗口引擎
可选 PBRTC70.DLL 超文本控件
可选 PBTRA70.DLL 数据库访问跟踪
可选 PBODB70.DLL PB的ODBC接口
可选 PBIN770.DLL INFORMIX 接口
可选 PBMSS70.DLL Microsoft SQL Server接口
可选 PBSYC70.DLL Sybase SQL Server接口
可选 PBO7370.DLL/PBO8470.DLL Oracle Version接口
PB8.0所需文件:
必需 PBVM80.DLL PowerBuilder 虚拟机
必需 LIBJCC.DLL PowerBuilder 库管理
可选 PBDWE80.DLL DataWindow 数据窗口引擎
可选 PBRTC80.DLL 超文本控件
可选 PBTRA80.DLL 数据库访问跟踪
可选 PBODB80.DLL PB的ODBC接口
可选 PBIN780.DLL INFORMIX 接口
可选 PBMSS80.DLL Microsoft SQL Server接口
可选 PBSYC80.DLL Sybase SQL Server接口
可选 PBO7380.DLL/PBO8480.DLL/PBO9080.DLL Oracle Version接口
以上文件可以在C:\Program Files\Sybase\Shared\PowerBuilder取得。
三. SQL Anywhere ODBC数据库驱动程序。
SQL Anywhere 5.0:
DBTL50T.DLL 数据库工具
DBL50T.DLL 数据库接口
WODBC.HLP 帮助文档
WOD50T.DLL ODBC 驱动
WL50ENT.DLL 英文字符串
WTR50T.DLL ODBC翻译
DBENG50.EXE 数据库引擎
SQL Anywhere 6.0:
DBL60T.DLL,WODBC.HLP,WOD60T.DLL,WL60ENT.DLL,WTR60T.DLL,DBENG60.EXE
SQL Anywhere 7.0:
DBODBC7.DLL,DBLIB7.DLL,DBWTSP7.DLL,DBLGEN7.DLL,DBODTR7.DLL,DBENG7.EXE
四. ODBC数据源配置。
在包含以上文件之后,还必需对使用ODBC数据库方式的应用进行ODBC数据源的配置,以便在安装完毕后应用程序可以直接访问用户数据源。
下面以使用SQL Anywhere 5.0数据库创建的用户数据库为例来说明如何使用数据源管理器进行ODBC的手工配置及如何在安装程序中自动修改系统注册表,其他数据库可以参考SQL Anywhere 5.0进行 *** 作。
1.使用数据源管理器配置用户数据源。
1.1. 安装SQL Anywhere数据库驱动程序,使数据源管理器中的"ODBC驱动程序"页增加一行SQL Anywhere的驱动说明。
1.2. 在"用户DSN"一页选择"添加",然后选择SQL Anywhere数据源,出现数据源的配置信息表后,将数据源名(Data Source Name),数据库名(Database File),用户ID号(User ID),用户密码(Password)等信息添齐,选择"OK"确认,此时在"用户数据源"的窗口中就会增加用户的数据库的ODBC驱动,选择"确认"后退出数据源管理器。
进行以上两步以后重新启动系统,用户就可以在运行应用程序后使用SQL Anywhere数据库。
2. 修改系统注册表配置用户数据源。
(以下注:C:\YourApp为用户应用程序目录,C:\YourApp\Sqlany50为应用程序包含的SQL Anywhere数据库驱动文件目录,YourDB.DB为用户数据库。)
在HKEY_LOCAL_MACHINE\software\ODBC\ODBC Drivers下,增加字符串键值:
Sybase SQL Anywhere 5.0 = "Installed"
在HKEY_LOCAL_MACHINE\software\ODBC\Sybase SQL Anywhere 5.0下,增加字符串键值:
Driver = "C:\YourApp\Sqlany50\WOD50T.DLL"
Setup = "C:\YourApp\Sqlany50\WOD50T.DLL"
在HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Source下,增加字符串键值:
TestDB = "Sybase SQL Anywhere 5.0"
在HKEY_CURRENT_USER\Software\ODBC\ODBC.INI下,增加主键:TestDB,并分别加入键值如下:
Autostop = "yes"
Databasefile = "C:\YourApp\YourDB.DB
Databasename = "TestDB"
Driver = "C:\YourApp\Sqlany50\WOD50T.DLL"
PWD = "sql"
Start = "C:\YourApp\Sqlany50\dbeng50.exe -d -c1024 -Q"
UID = "dba"
在用户的安装程序中将以上步骤加入,可以使用户的应用程序在不必安装SQL Anywhere数据库驱动下,也能直接访问用户数据源,从而实现用户应用程序的独立发布。
integer rc
string ls_dir,is_dbfile,is_datasource
ulong ls_buf
is_datasource="graduate"
ls_buf=256
ls_dir=space(ls_buf)
GetCurrentdirectoryA(ls_buf,ls_dir)
is_dbfile=ls_dir+'\graduate.db'
rc=profileint("first.ini","start","first",0)
if rc=1 then
if RegistrySet("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\"+"Adaptive Server Anywhere 7.0","Driver",RegString!,"dbodbc7.dll")=1 then
messagebox("恭喜你","数据源已注册成功!")
end if
RegistrySet("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\"+"Adaptive Server Anywhere 7.0","Setup",RegString!,"dbodbc7.dll")
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources","graduate",RegString!,"Adaptive Server Anywhere 7.0")
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\"+is_datasource,"Driver",RegString!,"dbodbc7.dll")
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\"+is_datasource,"UID",RegString!,"dba")
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\"+is_datasource,"PWD",RegString!,"sql")
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\"+is_datasource,"DatabaseFile",RegString!,is_dbfile)
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\"+is_datasource,"AutoStop",RegString!,"Yes")
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\"+is_datasource,"Integrated",RegString!,"No")
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\"+is_datasource,"DatabaseName",RegString!,"graduate.db")
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\"+is_datasource,"Debug",RegString!,"No")
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\"+is_datasource,"DisableMultiRowFetch",RegString!,"No")
setprofilestring("first.ini","start","first","0")
end if
只需要把datasource等几个地方改一下就可以了
其中的graduate是我的数据库名
if RegistrySet("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\"+"Adaptive Server Anywhere 7.0","Driver",RegString!,"dbodbc7.dll")=1
这一句就是driver的配置
1、从网盘上获取SQL Server的JDBC驱动程序6.0版本,下载地址:。
2、运行sqlserver_jdbc.exe程序,d出一个解压窗体,点击【Unzip】按钮,可以将安装程序解压到当前目录下。
3、解压后的目录中有一个jre7和jre8文件夹,里面都有一个sqljdbc的jar包,两者功能一样,只是不同的版本。选择其中一个jar包,将其添加到我们的工程中。
4、接下来我们就可以使用sqljdbc.jar包中提供的驱动程序来访问SQL Server数据库了,代码如下:
// 加载数据库驱动类
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver")System.out.println("数据库驱动加载成功")
Connection con = DriverManager.getConnection("jdbc:sqlserver://localhost:1433DatabaseName=xxx", "sa", "12345")
System.out.println("数据库连接成功")
通过上面的代码就可以连接到SQL Server数据库了。其中,1433是SQL Server的默认端口号,DatabaseName是要连接数据库的名称,sa是登录名,12345是登录密码。
我们如果要通过ODBC连接MYSQL就需要配置MYSQL驱动,那么如何在ODBC数据源中配置MYSQL驱动呢?
工具/材料ODBC数据源管理器
*** 作方法01、首先要下载MYSQL驱动程序,点击驱动程序进入安装界面,点击Next按钮
02、在d出的安装类型界面中选择Typical类型。
03、然后按Win+R组合键打开运行界面,输入control命令。
04、接下来在控制面板中点击管理工具选项。
05、然后进入管理工具我们点击ODBC数据源选项,这里大家根据自己的系统版本选择即。
06、在d出的ODBC数据源管理程序界面中点击右侧的添加按钮。
07、然后进入创建数据源界面,这里选择MySQL ODBC 8.0 Unicode Driver选项。
08、接着我们配置Mysql的连接地址和用户名密码即可。
09、然后点击Test按钮,如果d出如下图所示的提示则代表连接成功。
10、最后我们点击确定就可以将MySQL的驱动程序加载进ODBC数据源管理程序中了。
*** 作方法
01、首先要下载MYSQL驱动程序,点击驱动程序进入安装界面,点击Next按钮
02、在d出的安装类型界面中选择Typical类型。
03、然后按Win+R组合键打开运行界面,输入control命令。
04、接下来在控制面板中点击管理工具选项。
05、然后进入管理工具我们点击ODBC数据源选项,这里大家根据自己的系统版本选择即。
06、在d出的ODBC数据源管理程序界面中点击右侧的添加按钮。
07、然后进入创建数据源界面,这里选择MySQL ODBC 8.0 Unicode Driver选项。
08、接着我们配置Mysql的连接地址和用户名密码即可。
09、然后点击Test按钮,如果d出如下图所示的提示则代表连接成功。
10、最后我们点击确定就可以将MySQL的驱动程序加载进ODBC数据源管理程序中了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)