如何安装ODBC的pb驱动

如何安装ODBC的pb驱动,第1张

一.安装步骤

一般地说发布一个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、下载odbc驱动需要下载两个东西instantclient-basiclite-nt-12.1.0.1.0.zip instantclient-odbc-nt-12.1.0.1.0.zip由于时间推移,版本号会更新,网址也会变化。2、解压缩这两个文件到同一个文件夹 a、分别解压缩这两个文件 b、解压缩后两个文件夹里面都有instantclient_12_1目录,将odbc的instantclient_12_1目录下的内容拷贝到basicclient下的instantclient_12_1里面 c、为了使目录整齐简介,将basicclient下的instantclient_12_1目录拷贝到D:\Program Files\instantclient_12_1 3、将oracle数据库所在电脑上的NETWORK目录拷贝到instantclient_12_1目录下,oracle服务器所在电脑的network在D:\oraclexe\app\oracle\product\11.2.0\server这个位置。4、修改NETWORK\ADMIN\tnsnames.ora文件,将主机名换成IP地址。下面例子当中10.17.176.138以前是oracle数据库所在电脑上的主机名。主机名可能无法正确连接,所以换成IP地址。XE = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.17.176.138)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = XE) ) )5、添加环境变量TNS_ADMIN,变量值指向ADMIN目录,本人的配置是D:\Program Files\instantclient_12_1\NETWORK\ADMIN6、双击instantclient_12_1目录下的odbc_install.exe完成安装。注:安装时出现DOC框,并一闪而过,可能无法判断是不是正确安装。其实可以cmd进入instantclient_12_1目录,并.\odbc_install.exe手动安装。7、配置数据源并测试 为了不影响测试,首先将oracle数据库所在电脑的防火墙关闭,或允许例外TCP 1521端口。配置客户端电脑,控制面板->数据源->用户DSN->添加中选择Oracle in instantclient_12_1,TNS Service Name中选择数据库名,本人名字是XE,点Test Connection,如果提示成功就OK了。8、防止乱码在安装数据库的电脑上(我的oracle是安装在window上的),查看HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/KEY_XXX下的NLS_LANG值, 在客户端电脑上增加环境变量NLS_LANG,其值是在上面得到的NLS_LANG值。我服务器的NLS_LANG是SIMPLIFIED CHINESE_CHINA.ZHS16GBK

点击Download菜单,然后找到左边导航的"Software Catalogue"栏目,点击进入,从列表中选择"Drivers and interfaces"分类,在载入的驱动和接口列表中选择"psqlJDBC",这就是postgreSQLd的JDBC驱动(直接连接


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6820511.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-28
下一篇 2023-03-28

发表评论

登录后才能评论

评论列表(0条)

保存