// Profile sa
SQLCA.DBMS = "O10 Oracle10g (10.1.0)"
SQLCA.LogPass = "student"
SQLCA.ServerName = "orcl"
SQLCA.LogId = "student"
SQLCA.AutoCommit = False
SQLCA.DBParm = "PBCatalogOwner='student',TableCriteria=',student'"
connect
if sqlca.sqlcode= 0 then
open(w_t1)
else
halt
end if
直连就是把链接语句写在程序里,你换了机子数据库名可能和你做程序的那个机子上的数据库名,用户名,密码有不一样的,所以才连不上 追问: 能不能说清楚一点,你看下我上面发的网站上的代码,是不是需要改一下,我在自己的机器上可以正常运行打包程序,在别的机器上不行。。。谢谢了,连接语句我写在程序里的了,数据库名没有改啊 回答: 代码是对的,你把链接语句写在INI里面调用 就好了,给你个例子,要把这些写在INI里面,根据本地使用机子的实际情况更改,写在程序里面是不能改的SQLCA.DBMS = "MSS Microsoft SQL Server"
SQLCA.Database = "abcde"
SQLCA.ServerName = "loacl"
SQLCA.LogId = "sa"
SQLCA.AutoCommit = False
SQLCA.DBParm = "" 追问: 我不知道PB的INI在哪里啊?可以说明一下么?不胜感激 回答: 那个是自己写的,不是PB的,人晕。你上网上搜搜,这个一下半下是说不清楚的。。。 追问: 网上查了下,PB里面可以生成,明天试下,不过还是谢谢你,INI文件也要打包么? 追问: 我试了写在INI里,还是不行啊。。 回答: 你把你的数据库名称,用户名,密码,(这俩个是数据库的,不是程序的),数据库类型,发来,我给你写个INI,郁闷 追问: 谢谢,数据库名:xj 用户名:dba 密码:sql 数据类型:ODBC 追问: // Profile xj
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "ConnectString='DSN=xjUID=dbaPWD=sql'" 回答: ODBC的?你需要在机子上先注册了数据源,也就是你的那个xj注册了给
然后,将这个写在INI里面
DBMS = "ODBC"DSN='xj'UID='dba'PWD='sql'在程序的入口,也就是OPEN里面写如下代码
假设你的INI叫DB.INI,你可以自己改
string DSN,UID,DBMS,PWD
DBMS=profilestring('DB.INI','server','DBMS','')
DSN=profilestring('DB.INI','server','DSN','')
UID=profilestring('DB.INI','server','UID','')
PWD=profilestring('DB.INI','server','PWD','')
SQLCA.DBMS = DBMS
//链接数据库connectif SQLCA.SQLCode <>0 then
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)