试图在连接到SQL Server DB的perl脚本中更改连接主机名

问题描述 投票:1回答:2

我们在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)
sql-server perl dbi
2个回答
0
投票
某些ODBC驱动程序将连接信息存储在某些专用文件中。

作为UnixODBC存储在

/ etc中名为odbcinst.ini的文件中的示例

源(https://www.easysoft.com/developer/languages/perl/dbd_odbc_tutorial_part_1.html

0
投票
您的脚本正在连接到根据

d ata sn 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此处亮起。

© www.soinside.com 2019 - 2024. All rights reserved.