如何检测LOCATE INTERBASE SERVER 是否运行?(50分)

  • 主题发起人 主题发起人 parable
  • 开始时间 开始时间
P

parable

Unregistered / Unconfirmed
GUEST, unregistred user!
如何在程序中检测LOCATE INTERBASE SERVER 是否运行?
如何在程序中启动LOCATE INTERBASE SERVER?
 
对不起,问题放错地方了,请斑竹调整。
 
对Locate Interbase Server的执行文件进行操作,如果失败,则在运行。
或检查进程列表中是否有Locate Interbase Server存在。
 
uses BDE;
var
I:Integer;
begin
try
Database.Open;
except
on E:<B>EDBEngineError</B>do
with Edo
for I:=0 to ErrorCount-1do
with Errorsdo
<font color=red> if (Category=ErrCat_Other) and //错误种类=ErrCat_Other,51 Miscellaneous
(SubCode=ErrCode_UnknownSQL) then
//SubCode=ErrCode_UnknownSQL,3 Unknown SQL error
case NativeError of //Database Server返回的错误值
-902: raise Exception.Create('用户名或口令错')
-904: raise Exception.Create('Interbase Server未运行');
end;
</font>
end;
end;

其中NativeError是数据库服务器返回的错误值,因此对不同的数据库
是不同的,BDE无法判断,应该参考数据库文档。
-902和-904是我测试出来的。
 
很简单吗 如果 interbase server 运行。在屏幕右下脚有一个绿色图标。
或者在 sql explorer 中找到一个 interbase 数据库别名 例如:IBlocal 在他
前面右键单击加号。输入 用户名 SYSDBA 密码 masterkey 如能连接上。表示
interbae server 在运行
 
local interbase 一开机便自动运行 无需在程序中启动
 
interbase可以设置是否自动开机启动,但我不想这么做,我的意思是在应用程序
启动时自动启动interbase,退出时关闭interbase.
 
是 interbase server 一开机就启动。用这个函数试一试shellexecute
(0,nil,pchar(s1),pchar(s2),nil,sw_shownormal) s1,s2 为 interbase server 所在的目录。 例如:c:/programe file /borland /interbase 和 interbase server 。至于哪个是跟目录我记不太清了。:)别忘了 在
uses 中加入 shellapi
 
怎么用程序关闭interbase?
 
When you start a program using Local InterBase Server with BDE, it will start automatically, after you close your program, it closes too.
You needn't to start manually.
 
@-@ 我也想知道怎莫关闭
 
可我用的是ib express for d3&amp;d4,不通过DBE,直接访问IB
回去在查查ib express 有没有相关的功能
 
对不起,现在才结束问题,我整整一个多月时间都连不上来,今天好不容易才进来。
 
问题还没结束哇!!
还可用这个函数
findwindow(nil,interbase server)
如返回 true 表示 interbase server 在运行
 
对不起,近几个月都连不上来。现在才结束问题。
 
多人接受答案了。
 
后退
顶部