我们在连接到 SQL Server 数据库并获取信息的 Linux 机器上有一个 perl 脚本,我们正在尝试更新数据库主机详细信息,但在该脚本中找不到执行此操作的参数或变量。
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)
最佳答案
您的脚本正在连接到在 ddata source name (DSN) eventMSSQL
下定义的数据库>.
要更改您连接的主机,您有三个选择。
首先,您可以修改此 DSN 定义以指向不同的主机。此 eventMSSQL
DSN 在 Linux 系统的 ODBC 安装中某处定义,可能在 /etc/odbc.ini
或 ~/.odbc.ini
中。
或者,您可以使用不同的主机创建新的 DSN 定义,然后连接到该主机。
最后,您还可以更改 DBI->connect
data_source 以包含 ODBC 连接字符串而不是 DSN,这看起来类似于 dbi: ODBC:驱动程序=...;主机=...;端口=...
。 (DSN 是该驱动程序/主机/端口/等规范的简写。)
DBD::ODBC::FAQ 有一个 entry on DSNs and connection strings这在这里很有启发性。
关于sql-server - 尝试更改连接到 SQL Server 数据库的 perl 脚本中的连接主机名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59924809/