如何使用可信身份验证和RDB$ADMIN角色建立Firebird 2.5服务连接?

如何使用可信身份验证和RDB$ADMIN角色建立Firebird 2.5服务连接?,firebird,firebird2.5,Firebird,Firebird2.5,使用Firebird 2.1时,可以通过在相应的参数块中传递isc\u dpb\u trusted\u auth和isc\u spb\u trusted\u auth来建立使用可信身份验证的连接。 连接的用户将拥有管理权限,这取决于他们是否是具有管理权限的Windows组的成员 对于Firebird 2.5,可以指定角色“rdb$admin”以连接数据库的管理权限,前提是用户已被授予该角色的权限 我想使用该角色建立一个具有管理权限的服务连接,但还没有找到一种方法。连接已建立,但我不能列出数据库用

使用Firebird 2.1时,可以通过在相应的参数块中传递
isc\u dpb\u trusted\u auth
isc\u spb\u trusted\u auth
来建立使用可信身份验证的连接。
连接的用户将拥有管理权限,这取决于他们是否是具有管理权限的Windows组的成员

对于Firebird 2.5,可以指定角色“rdb$admin”以连接数据库的管理权限,前提是用户已被授予该角色的权限

我想使用该角色建立一个具有管理权限的服务连接,但还没有找到一种方法。连接已建立,但我不能列出数据库用户,例如,当作为SYSDBA连接时,我可以列出数据库用户


我需要什么组合的
isc\u spb\u trusted\u auth
isc\u spb\u trusted\u role
isc\u spb\u sql\u role\u name
或其他参数块,我需要传递哪些参数?

角色和用户在存储适当数据的位置上存在差异。前者存储在RDB$ROLES表中的数据库中。后者存储在名为security2.fdb的特殊单独数据库文件中,该文件通常位于Firebird目录中


当通过Firebird API连接到服务管理器时,还不知道特定的数据库。只指定了服务器名称。因此,您不能使用角色。此时,服务器根本不知道从哪个数据库读取角色凭据

角色和用户在存储适当数据的位置上存在差异。前者存储在RDB$ROLES表中的数据库中。后者存储在名为security2.fdb的特殊单独数据库文件中,该文件通常位于Firebird目录中


当通过Firebird API连接到服务管理器时,还不知道特定的数据库。只指定了服务器名称。因此,您不能使用角色。此时,服务器根本不知道从哪个数据库读取角色凭据

FB2.5中唯一接受服务的角色参数是用户管理,这是自interbase 6以来服务的工作方式。从FB3开始,将具备将其用于其他服务的能力。

FB2.5中唯一的服务接受角色参数是用户管理-这是自interbase 6以来服务的工作方式。从FB3开始,将提供将其用于其他服务的功能。

您是否查看了Firebird文件夹中的doc\README.trusted\u authentication.txt?因为这只是说:要使用Windows可信身份验证,请不要在DPB中放置用户和密码参数/SPB@Mark:使用可信身份验证本身没有问题,可以正常工作。不过我想使用rdb$admin角色,虽然我可以在建立数据库连接时简单地将其作为角色传递,但在建立服务连接时却无法使其正常工作。连接已建立,但似乎没有管理权限。例如,我不能列出用户,当我以SYSDBA身份连接时,我可以列出。查看它实际上并没有说明与服务连接时的管理员角色,所以我不知道。如果你在这里没有得到答案,你可能想问Firebird支持邮件列表上的问题(请参阅)。您可能想要尝试的是将isc_spb_dbname指定给一个数据库(而不是安全数据库),在该数据库中您还具有admin角色(正如文档在使用安全数据库中的RDB$ADMIN角色时所述,您是否查看了Firebird文件夹中的doc\README.trusted\u authentication.txt?因为这只是说:要使用Windows可信身份验证,请不要将用户和密码参数放在DPB中/SPB@Mark:使用可信身份验证本身没有问题,可以正常工作。I want使用rdb$admin角色,虽然我可以在建立数据库连接时简单地将其作为角色传递,但在建立服务连接时,我无法使其正常工作。连接已建立,但它似乎没有管理权限。例如,我无法列出用户,在以SYSDBA.Lookin身份连接时可以列出用户g at它实际上没有说明与服务相关的管理员角色,所以我不知道。如果您在这里没有得到答案,您可能想在Firebird支持邮件列表上问这个问题(请参阅)。您可能想要尝试的是将isc_spb_dbname指定给数据库(而不是安全数据库)您在哪里也有管理员角色(正如文档在安全数据库中使用RDB$admin角色时所说的,所以您的意思是,这无法完成?或者,如果提供了数据库的路径,是否可以?大多数firebird服务都会对数据库起作用(备份、还原、验证等)但在内部,服务管理器的附件是第一件事,也是选定服务的开始。请参阅isc_service_attach函数。它不知道任何关于数据库的信息。只知道主机名。所以,您的意思是,这不能做到?或者,如果提供了数据库的路径,它可以做到吗?大多数firebird服务都作用于数据库ase(备份、还原、验证等),但作为第一件事,在内部有一个到service manager的附件,只有在选定服务开始时才有。请参阅isc_service_attach函数。它不知道任何有关数据库的信息。只知道主机名。