Как мне подключиться с Perl к SQL Server? - PullRequest
10 голосов
/ 05 февраля 2011

У меня есть идентификатор пользователя, пароль, имя базы данных и данные источника данных.Я хочу подключиться с Perl к серверу MSSQL.Я только что использовал следующий фрагмент, но получаю ошибку.

#!/usr/bin/perl -w
use strict;

use DBI;

my $data_source = q/dbi:ODBC:192.168.3.137/;
my $user = q/bharani/;
my $password = q/123456/;

# Connect to the data source and get a handle for that connection.
my $dbh = DBI->connect($data_source, $user, $password)
    or die "Can't connect to $data_source: $DBI::errstr";

Моя ошибка:

DBI connect('192.168.3.137','bharani',...) failed: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (SQL-IM002) at my sqlconnect.pl line 14
Can't connect to dbi:ODBC:192.168.3.137: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (SQL-IM002) at mysqlconnect.pl line 14.

Сервер SQL работает в другой системе, я просто пытаюсь подключитьсяс вышеуказанными деталями.Скажите, пожалуйста, мне следует увеличить DSN в моей системе или что-то отсутствует в моей программе?

1 Ответ

17 голосов
/ 05 февраля 2011

Все, что следует за 'dbi:ODBC:' в строке подключения, передается драйверу ODBC. Для MSSQL попробуйте эту строку подключения:

DBI->connect("dbi:ODBC:Driver={SQL Server};Server=192.168.3.137;UID=$user;PWD=$password")

Вы можете найти еще несколько альтернатив на connectionstrings.com

...