我第一次尝试测试连通性。像这样
#!/usr/bin/perl -w
use DBI;
# DBD::ODBC
use CGI::Carp qw(fatalsToBrowser);
my $dsn = 'DBI:ODBC:Driver={SQL Server}';
#my $host = 'localhost';
my $host = 'mysql';
my $database = 'test';
my $user = 'root';
my $auth = 'mukesh';
# Connect via DBD::ODBC by specifying the DSN dynamically.
my $dbh = DBI->connect("$dsn;Server=$host;Database=$database",$user,$auth) || die "Database connection not made: $DBI::errstr";
但是我一次又一次地收到这个错误。遇到错误 [Microsoft][ODBC SQL Server 驱动程序][DBNETLIB]SQL Server 不存在或访问被拒绝。 (SQL-08001) [状态为 08001 现在为 01000]
[Microsoft][ODBC SQL Server 驱动程序][DBNETLIB]ConnectionOpen (Connect())。 (SQL-01000) 当连接到
在执行此操作之前,我需要在我的电脑中配置什么吗?
您似乎正在使用 Microsoft SQL 服务器连接到 MySQL 数据库 - 这是行不通的。
你可能想要这样的东西;
my $dsn = "DBI:mysql:database=$database;host=$host;port=3306";
my $dbh = DBI->connect($dsn, $user, $auth) || die "Database connection not made: $DBI::errstr";
但是您似乎也对主机感到困惑 - 您确定 mysql 数据库的主机名是“mysql”吗?如果它在同一台机器上运行,localhost 就是正确的。
我也希望这些不是您真正的 root 凭据 - 也许在公共(public)论坛上发布这些不是一个好主意,但以 root 身份连接几乎肯定不是您想要做的,请考虑使用特定用户只有所需的权限。
我是一名优秀的程序员,十分优秀!