DPB在Firebird中的含义是什么,以及如何使用isc_dpb_trusted_auth参数? [英] What is DPB mean for in Firebird and how to use isc_dpb_trusted_auth parameter?

查看:121
本文介绍了DPB在Firebird中的含义是什么,以及如何使用isc_dpb_trusted_auth参数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

DPB在Firebird中是什么意思,以及如何使用isc_dpb_trusted_auth参数?

What does DPB mean in Firebird, and how to use isc_dpb_trusted_auth parameter?

推荐答案

DPB在Firebird中是什么意思

What does DPB mean in Firebird

最有可能是数据库参数缓冲区",事务...."有TPB,服务..."有SPB(在Services API中使用).

Most probably it is "Database Parameter Buffer", and there is TPB for "Transaction...." and SPB for "Service ..." (used in Services API).

Firebird 2.1.7错误列表具有以下引号:

And Firebird 2.1.7 bugslist has the following quote:

引擎在 blob参数缓冲区(BPB)

我认为这些缩写是在30多年前构思的,当时将当今称为Firebird的数据库开发为VAX VMS操作系统的新组件.

I think those abbreviations were conceived more than 30 years ago, when the database today known as Firebird was being developed as proposed new component of VAX VMS operating system.

您可以转到Firebird-developers邮件列表,并询问当前的开发人员如何猜测DPB的含义.或者,您可以尝试找到先生. Starkey和太太.哈里森问他们是否还记得30年前的意思.

You may go Firebird-developers maillist and ask how current developers guess what DPB stand for. Or you may try to find mr. Starkey and mrs. Harrison and ask if they still remember what they meant more than 30 years ago.

如何使用isc_dpb_trusted_auth参数

how to use isc_dpb_trusted_auth parameter

在我可以看到的两个资料中对此进行了描述.两者都使用相同的词.

This is described in two sources that I can see. And both use the same words.

  • https://firebirdsql.org/rlsnotesh/rnfb210-wintrusted.html
  • c:\Program Files\Firebird\Firebird_2_1\doc\README.trusted_authentication.txt

在设置ISC_USER/ISC_PASSWORD变量时保留旧版行为 在环境中,它们被挑选和使用而不是被信任 验证.如果需要受信任的身份验证,并且 设置了ISC_USER/ISC_PASSWORD,添加新的DPB参数 isc_dpb_trusted_auth发送到DPB.

To keep legacy behavior when ISC_USER/ISC_PASSWORD variables are set in environment, they are picked and used instead of trusted authentication. In case when trusted authentication is needed and ISC_USER/ISC_PASSWORD are set, add new DPB parameter isc_dpb_trusted_auth to DPB.

该参数具有哪个值似乎无关紧要,仅在某个时候才有意义是否存在.

It seems it does not matter which value the parameter has, it only sometime matters whether it is present or not.

要连接数据库,请调用Firebird函数isc_attach_database.此功能有6个参数. #5是DPB二进制块的长度,#6是指向DPB二进制块的指针.

To connect the database you call Firebird function isc_attach_database. This function takes 6 parameters. #5 is the length of DPB binary block and #6 is the pointer to DPB binary block.

构建二进制DPB块的示例,您可以在用于连接到Firebird服务器的所选库的源代码中找到.

Example of building of binary DPB block you can find in the sources of your library of choice that you use to connect to firebird server.

例如,使用统一Interbase库,您可以开始探索examples\UIB\API\项目.他们都使用类似的呼叫

For example with Unified Interbase library you can start exploring examples\UIB\API\ projects. They all use calls like

 UL.AttachDatabase(new_dbname, newdb, 'user_name = SYSDBA; password = masterkey');

最后一个字符串是参数列表.为了使可信算术有效,根据上面引用的文档,您必须删除user_namepassword参数,并且可以选择添加任何值的trusted_auth参数.然后,您可以将其追溯到function CreateDBParams,它会从文本键值列表字符串中创建DPB二进制表示形式.

The last string being the parameter list. For trusted aithenticaton to work, according to the documentation quoted above, you have to remove user_name and password parameters and optionally you may add trusted_auth parameter with any value. Then you can trace it down to the function CreateDBParams, which creates the DPB binary representation out of your text key-value list string.

PS.您会尝试编译这些示例吗?请不要忘记通过启用uib.inc文件中的FB21选项将UIB库配置为使用Firebird 2.1或更高版本的API.

PS. would you try to compile those examples - do not forget to configure UIB library to use Firebird 2.1 or higher API by enabling FB21 option in uib.inc file.

这篇关于DPB在Firebird中的含义是什么,以及如何使用isc_dpb_trusted_auth参数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆