Tengo una identificación de usuario, una contraseña, el nombre de la base de datos y los datos del recurso. Quiero conectarme con Perl a un servidor MSSQL. Acabo de usar el siguiente fragmento, pero me aparece un error.¿Cómo me conecto con Perl a SQL Server?
#!/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";
Mi error es:
servidorDBI 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.
El SQL se ejecuta en otro sistema, sólo estoy tratando de conectar con los detalles anteriores. Dígame, ¿debo aumentar DSN en mi sistema, o falta algo en mi programa?
acabo de crear el DSN en mi local y funcionó encontrar, THX para asesorar, en este sitio no pm Buscar perl + mssql snippet, ya lo acabo de encontrar relacionado con .NET Y db – Bharanikumar
En primer lugar, debería ser 'dbi: ODBC' no 'DBI: ODBC'. En segundo lugar, no es exactamente correcto decir todo después de que 'dbi: ODBC' se transfiere al controlador y ciertamente no a la base de datos. Si usa 'dbi: ODBC: mydsn' y no incluye un DRIVER = o DSN = entonces DBD :: ODBC llama primero a la antigua API de SQLConnect con mydsn, nombre de usuario, contraseña (por razones históricas). Si pone DRIVER = o DSN = en la cadena de conexión después de 'dbi: ODBC' DBD :: ODBC ignora SQLConnect y pasa la cadena después de 'dbi: ODBC' a SQLDriverConnect luego de haber agregado los atributos de UID/PWD. – bohica
@bohica Actualizó la respuesta según sus sugerencias. Espero que sea más correcto ahora. – bvr