我正在创建一个 perl 程序,除了用户名和密码外,用户还必须输入数据库的名称,并且程序使用DBI->connect
. 我想做的是让程序显示它可以连接到的数据库名称列表,并且用户所要做的就是输入他们的用户名和密码,以便于使用。我查看了数据源的DBI 文档,认为这是我需要的,但是当我调用DBI->data_sources('Oracle')
它时,它什么也没返回(但也没有遇到错误)。我看不出这是怎么发生的,因为如果用户提供数据库名称,程序就可以毫无障碍地连接。有什么我做错了,或者我没有得到什么?
是的,我意识到我可以手动打开 tnsnames.ora 文件并解析它。事实上,这就是我首先做的,但我更喜欢使用 DBI。