请问用PB连接Sybase数据库,不用ODBC可以吗?能否给出例子(200分)

  • 主题发起人 主题发起人 mercury
  • 开始时间 开始时间
可以用第三方插件
sybase好像提供:)
 
当然可以,PB提供了直连方式,打开db profiles画笔,
可以看到PB提供的可直连数据库有:
informix、oracle、sql server、sybase,当然db2也行:
step 1:
安装sybase client
step 2:
在PB的安装盘中找到pbsyb*.sql (具体名字记不清了,记起了再告诉你)。
step 3:
在isql中打开刚才找到的文件并执行。
step 4:
在PB中打开db profiles,在sybase相关中建立一个连接名。
然后就OK了。
下面是我的database connection syntax
// Profile SYBASE
SQLCA.DBMS = "SYC Sybase System 10/11"
SQLCA.Database = "sam"
SQLCA.LogPass = "******"
SQLCA.ServerName = "pd"
SQLCA.LogId = "lsuser"
SQLCA.AutoCommit = False
SQLCA.DBParm = ""
 
可能我没有把情况说清楚。实际是这样,我是在做安装盘时不想建立ODBC接口,
而用Powerscrip脚本直接连接,我只想复制几个必要的Sybase引擎想DBeng60.exe
等,把它们和编译好的EXE、DLL文件方在同一个目录下,然后用一种安装工具做成
安装盘。
 
在PB运行时检测是否注册表中有相关ODBC项,没有则自动创建
相关注册项为:
[HKEY_CURRENT_USER/Software/ODBC/ODBC.INI/连接名]
"Driver"="C://Program Files//Sybase//SQL Anywhere 5.0//win32//wod50t.dll"
"UID"="dba"
"PWD"="sql"
"Start"="C://PROGRAM FILES//SYBASE//SQL ANYWHERE 5.0//WIN32//dbeng50.exe"
"DatabaseFile"="你的数据库文件路径"
"AutoStop"="yes"

[HKEY_CURRENT_USER/Software/ODBC/ODBC.INI/ODBC Data Sources]
"连接名"="Sybase SQL Anywhere 5.0"
 
我好象还是不太清楚你需要什么。
在应用的OPEN事件里写上:
SQLCA.DBMS = "SYC Sybase System 10/11"
SQLCA.Database = "SY"
SQLCA.LogPass = "SY"
SQLCA.ServerName = "HPPC"
SQLCA.LogId = "mercury"
SQLCA.AutoCommit = False
SQLCA.DBParm = ""
CONNECT USING SQLCA;

至于打包是到底需要哪些DLL,查一下PB REFERENCE,或把/SHARE下的所有DLL带上,或
在没有PB环境的机器中运行你的应用,提示需要什么DLL就选上什么DLL。
GOOD LUCK!

 
要装个什么破open client,很烦人的,你去下个dll查看的程序,运行编译后的exe看它加载了那些dll。
发了一个给你,先把pb的应用编译,运行进入应用。再运行dll查看程序,看看pb应用都用了那些dll文件。
 
多人接受答案了。
 
后退
顶部