DPB在Firebird中的含义是什么,以及如何使用isc_dpb_trusted_auth参数? [英] What is DPB mean for in Firebird and how to use isc_dpb_trusted_auth parameter?
问题描述
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
- 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_name
和password
参数,并且可以选择添加任何值的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屋!