连接Firebird 2.5运行trace报service_mgr未定义错误该如何解决?
问题原因
-SE(服务连接)参数格式填写错误。Firebird的服务管理器连接串固定格式为主机名:service_mgr,不需要拼接数据库文件路径。你将数据库路径写入服务连接参数后,Firebird会把整个拼接后的字符串识别为服务名,找不到对应的服务就会抛出未定义报错,该逻辑在校验数据库存在性之前执行,所以不管数据库路径是否正确都会返回相同报错,和数据库本身无关。- 次要可能性:本地Firebird服务未正常启动,也会触发无法连接服务管理器的报错。
解决方法
- 先确认Firebird服务正常运行:按下
Win+R输入services.msc回车,在服务列表中找到Firebird Server对应条目,确认状态为「正在运行」。 - 修正fbtracemgr命令的
-SE参数,去掉其中的数据库路径部分,要追踪的数据库路径需要配置到你的trace配置文件中,修正后的命令参考:
fbtracemgr -SE "localhost:service_mgr" -user SYSDBA -password masterkey -start -name "to" -config "C:\Users\user1\traceparameter.conf" > c:\Users\user1\dboutput.txt
- 打开你的
C:\Users\user1\traceparameter.conf配置文件,添加对应数据库的追踪规则,示例配置片段如下:
database = C:\Users\user1\Desktop\db.FDB
{
enabled = true按需添加其他追踪规则,比如log_statements、log_connections等}
内容的提问来源于stack exchange,提问作者daneee
相关产品推荐
相关产品推荐

