pb 12 发布做成exe,但是连接不上数据库,请
pb 12 发布做成exe,但是连接不上数据库,请高手指点
1.注册表也注册了
2,也运行runtime package 了 但是就是连接不上数据库,请高人看看那是不是哪地方错了
3.dll文件也复制了,怎么就是连接不上数据库呢
1.自动注册表的截图

2.hkey_current_user 注册表项目

3.HKEY_LOCAL_MACHNE 注册表项目

------解决思路----------------------
这是我的链接ANYWHERE12的代码,仅供参考!
------解决思路----------------------
如果在开发环境下可以,应该和环境有关系了
你编译好以后,把exe放在pb的dll目录运行试试
1.注册表也注册了
2,也运行runtime package 了 但是就是连接不上数据库,请高人看看那是不是哪地方错了
3.dll文件也复制了,怎么就是连接不上数据库呢
1.自动注册表的截图
2.hkey_current_user 注册表项目
3.HKEY_LOCAL_MACHNE 注册表项目
------解决思路----------------------
这是我的链接ANYWHERE12的代码,仅供参考!
string ls_db , ls_uid , ls_pwd , ls_reg , ls_path , ls_start , ls_driver
integer li_n
//判断是否注册数据源odbc
li_n = registryget("hkey_current_user\software\odbc\odbc.ini\ODBC Data Sources","ishow",regstring!,ls_reg)
//如果没有注册
if li_n <> 1 or isnull(ls_reg) then
ls_path = getcurrentdirectory()
ls_db = ls_path+"\dbname\ishow.db"
ls_start = ls_path+"\dbeng12.exe -Q"
ls_driver = ls_path+"\dbodbc12.dll"
registryset("hkey_current_user\software\odbc\odbc.ini\ODBC Data Sources","ishow",regstring!,"SQL Anywhere 12")
registryset("hkey_current_user\software\odbc\odbc.ini\ishow","Driver",regstring!,ls_driver)
registryset("hkey_current_user\software\odbc\odbc.ini\ishow","UID",regstring!,"dba")
registryset("hkey_current_user\software\odbc\odbc.ini\ishow","PWD",regstring!,"sql")
registryset("hkey_current_user\software\odbc\odbc.ini\ishow","AutoStop",regstring!,"yes")
registryset("hkey_current_user\software\odbc\odbc.ini\ishow","DatabaseKey",regstring!,"gotong")
registryset("hkey_current_user\software\odbc\odbc.ini\ishow","Start",regstring!,ls_start)
registryset("hkey_current_user\software\odbc\odbc.ini\ishow","Integrated",regstring!,"no")
registryset("hkey_current_user\software\odbc\odbc.ini\ishow","EngineName",regstring!,"ishow")
registryset("hkey_current_user\software\odbc\odbc.ini\ishow","DatabaseFile",regstring!,ls_db)
end if
//读取连接参数
registryget("hkey_current_user\software\odbc\odbc.ini\ishow","UID",regstring!,ls_uid)
registryget("hkey_current_user\software\odbc\odbc.ini\ishow","PWD",regstring!,ls_pwd)
registryget("hkey_current_user\software\odbc\odbc.ini\ishow","EngineName",regstring!,ls_db)
//连接数据库
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = false
SQLCA.DBParm = "ConnectString='DSN="+ls_db+";UID="+ls_uid+";PWD="+ls_pwd+"'"
connect using sqlca;
if sqlca.sqlcode <> 0 then
messagebox("提示信息:","数据库连接失败!"+sqlca.sqlerrtext)
return false
halt close;
else
return true
end if
------解决思路----------------------
如果在开发环境下可以,应该和环境有关系了
你编译好以后,把exe放在pb的dll目录运行试试