Sybase powerbuilder,sqlanywhere,sybase,powerdesigner都是好东西
其实有很多年没有用pb了,不过还是很热爱这个工具的,最近看到pb8已经可以支持jdbc做数据源了,赶快来试验一下,确实好用,但是在发布的时候有点不好,一般提供的方式是需要如下系统变量:
JAVA_HOME=your jdk installer dir
CLASSPATH =.;%JAVA_HOME%/lib/dt.jar; %JAVA_HOME%/lib/tools.jar; 你的jdbc驱动.jar
这样倒是可以发布,不过修改CLASSPATH也许会影响其他的java程序运行
以下为runnerrunning原创部分:
http://blog.csdn.net/runnerrunning
偶发现在注册表中有如下项目:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER/Software/Sybase/PowerBuilder/10.0/ClassPath]
"0"="E://env_java//jdbcDriver"
"1"="E://env_java//jdbcDriver//mssqlserver.jar"
"2"="E://env_java//jdbcDriver//msbase.jar"
"3"="E://env_java//jdbcDriver//msutil.jar"
"4"="E://env_java//jdbcDriver//jaybird-full-2.0.0.jar"
"5"="E://env_java//jdbcDriver//mysql-connector-java-3.0.8-stable-bin.jar"
"6"="E://env_java//jdbcDriver//oraclejdbc2.jar"
"7"="E://env_java//jdbcDriver//postgresql-8.0.309.jdbc3.jar"
"Count"="8"
注意最后那个count = 8 ,8一定要大于之前的项目最大数7
这就好办了
在connet using sqlca之前加个程序不就ok
String ls_path
ls_path = GetCurrentDirectory( )
RegistrySet( "HKEY_CURRENT_USER/Software/Sybase/PowerBuilder/10.0/ClassPath", "91", RegString!,ls_path + "/jdbcDriver")
RegistrySet( "HKEY_CURRENT_USER/Software/Sybase/PowerBuilder/10.0/ClassPath", "92", RegString!,ls_path + "/jdbcDriver/mssqlserver.jar")
RegistrySet( "HKEY_CURRENT_USER/Software/Sybase/PowerBuilder/10.0/ClassPath", "93", RegString!,ls_path + "/jdbcDriver/msbase.jar")
RegistrySet( "HKEY_CURRENT_USER/Software/Sybase/PowerBuilder/10.0/ClassPath", "94", RegString!,ls_path + "/jdbcDriver/msutil.jar")
RegistrySet( "HKEY_CURRENT_USER/Software/Sybase/PowerBuilder/10.0/ClassPath", "Count", RegString!,"100")
注意:即使这样,原先的JAVA_HOME 和CLASSPATH变量还是要有的
不过不用在CLASSPATH修改了
然后就:
// Profile jds
SQLCA.DBMS = "JDBC"
SQLCA.LogId = "sa"
SQLCA.AutoCommit = True
SQLCA.DBParm = "Driver='com.microsoft.jdbc.sqlserver.SQLServerDriver',URL='jdbc:microsoft:sqlserver://192.168.1.100:1433;DatabaseName=Northwind',PBCatalogOwner='dba'"
/* Uncomment the following for actual DB connection */
connect;