数据库连接: 如何快速判断数据库连接是否成功?

双子东宝 2002-04-15 10:19:43
我在应用程序中使用
SQLCA.ServerName = ls_servername
SQLCA.DBMS = ls_dbms
SQLCA.Database = ls_database
SQLCA.LogId = ls_logid
SQLCA.LogPass = ls_logpass

进行数据库连接,可是如果连接参数不对的话需要很长时间才能返回失败提示。

有没有办法快速判断出数据库连接是否成功?

望赐教! 多谢!!

...全文
1887 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
双子东宝 2002-04-15
  • 打赏
  • 举报
回复
谢谢 rabbitsfoot(狡兔) , byfq(不愿放弃)
mmjhcg 2002-04-15
  • 打赏
  • 举报
回复
设置好参数据,用SQLCA。SQLCODE是否为0,如是就OK了,
rabbitsfoot 2002-04-15
  • 打赏
  • 举报
回复
如果是用ODBC连接的话,还可以设置一个login timeout(在network里面),是ODBC驱动向数据源登录时等待的时间,你试试看有没有用,如果是直联的SQLSERVER,恐怕没什么招啊!
byfq 2002-04-15
  • 打赏
  • 举报
回复
设定logintimeout ,eg

SQLCA.dbParm = "LoginTimeOut = 15"
双子东宝 2002-04-15
  • 打赏
  • 举报
回复
rabbitsfoot(狡兔) : 那在管理工具中连接的话怎么能那么快呢。
rabbitsfoot 2002-04-15
  • 打赏
  • 举报
回复
不用浪费力气了,连接的过程是不由程序所控制的,而连接没有完成的话就不可以知道连接的正确与否,还是做个窗口让用户知道你的程序正在连接数据库吧!
双子东宝 2002-04-15
  • 打赏
  • 举报
回复
dukeli() : 谢谢,我就是在 管理工具中用ODBC连数据库后才想起 如何在PB中用代码实现快速判断数据库是否连接成功的 ?

ton2000(小弟) : 这也是个办法。 不过我想应该有办法解决吧。
Ton2000 2002-04-15
  • 打赏
  • 举报
回复
我也很想知道怎么办,不过这种办法不知道行吗!?

到一个指定长的时间后发现窗口还是没有响应,就说明连不上!不过如果你做个启动窗口,也可以让用户觉得不是很无聊,并且至少知道你的软件在连数据库!
dukeli 2002-04-15
  • 打赏
  • 举报
回复
看来楼上的各位没有明白,要是等到返回sqlcode早就过了很长时间了。楼顶的朋友,试试看能不能利用ODBC的方法。
双子东宝 2002-04-15
  • 打赏
  • 举报
回复

多谢楼上的各位,

我的意思是 如何 快 速 的判断数据库连接是否成功 !

因为我使用上面的方法,如果参数错误,有时候需要很长时间才告诉我数据库连接错误!
dancer 2002-04-15
  • 打赏
  • 举报
回复
connect以后,判断sqlca.sqlcode是否等于0
JBCStudy 2002-04-15
  • 打赏
  • 举报
回复
if sqlca.sqlcode = 0 then success
水煮蛙 2002-04-15
  • 打赏
  • 举报
回复
多看PB的帮助文档!)
long RowsRetrieved
string LastName
// Connect to the database.
CONNECT USING SQLCA;
// Test whether the connect succeeded.
IF SQLCA.SQLCode <> 0 THEN
MessageBox("Connect Failed", &
"Cannot connect to database " &
+ SQLCA.SQLErrText)
RETURN
END IF

// Set the transaction object to SQLCA.
dw_employee.SetTransObject(SQLCA)
// Retrieve the rows.
LastName = . . .
RowsRetrieved = dw_employee.Retrieve(LastName)
// Test whether the retrieve succeeded.
IF RowsRetrieved < 0 THEN
MessageBox("Retrieve Failed", &
"Cannot retrieve data from the database.")
END IF

752

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧