我们在Linux机器上有一个perl脚本,该脚本连接到SQL Server数据库并获取信息,我们正在尝试更新数据库主机的详细信息,但是在该脚本中找不到能做到这一点的参数或变量。
use strict;
use XML::Simple;
use Data::Dumper;
use DBI;
use DBI qw(:sql_types);
use MIME::lite;
my $SQL_Datasource= 'dbi:ODBC:eventMSSQL';
my $SQL_user= 'user1';
my $SQL_password ='abc@123';
$dbh=DBI->connect($SQL_Datasourse,$SQL_user,$SQL_password)
作为UnixODBC存储在
/ etc中名为odbcinst.ini
的文件中的示例
d ata s源n ame(DSN)eventMSSQL
定义的数据库。
主机,您可以修改此DSN定义以指向其他主机。另外,您可以使用其他主机创建一个新的DSN定义,然后连接到该主机。您也可以更改DBI->connect
data_source以包括ODBC连接字符串而不是DSN,看起来像dbi:ODBC:Driver=...;Host=...;Port=...
。 (DSN是该驱动程序/主机/端口/等规范的简写。)
eventMSSQL
DSN是在Linux系统的ODBC安装中的某个位置定义的,可能是/etc/odbc.ini
或~/.odbc.ini
,但可能在其他位置。DBD :: ODBC :: FAQ的entry on DSNs and connection strings此处亮起。