Je sais qu'il ya une question similaire: Connect to SQL Server 2005 from Perl and do a SELECT, mais j'ai essayé la réponse acceptée et je suis incapable de le faire fonctionner.comment se connecter à SQL Server avec Perl
En supposant que j'ai un test db nommé, et je serais ravi de faire une sélection de matable (select id, name from mytable
)
est à partir du lien ci-dessus avec dsn mise à jour:
use strict;
use warnings;
use DBI;
# Insert your DSN's name here.
my $dsn = 'database=test'
# Change username and password to something more meaningful
my $dbh = DBI->connect("DBI::ODBC::$dsn", 'username', 'password')
# Prepare your sql statement (perldoc DBI for much more info).
my $sth = $dbh->prepare('select id, name from mytable');
# Execute the statement.
if ($sth->execute)
{
# This will keep returning until you run out of rows.
while (my $row = $sth->fetchrow_hashref)
{
print "ID = $row->{id}, Name = $row->{name}\n";
}
}
# Done. Close the connection.
$dbh->disconnect;
C'est ce que je obtenu lors de l'exécution du script: Impossible de se connecter à la source de données 'ODBC :: database = test' car je n'arrive pas à définir le pilote à utiliser (il ne semble pas contenir de préfixe 'dbi: driver:' et le DBI_DR IVER env var n'est pas défini) à la ligne script.pl 9
On dirait que le problème est dans le dsn mais je n'ai aucune idée de comment le réparer (je suis sur SQL 2005, perl 5.10 active et Windows XP).
Modifier: J'ai utilisé le code suivant pour vérifier si ODBC est installé. utilisez DBI;
print join (", ", DBI->installed_versions);
Sortie: Il ressemble à ODBC est en effet dans la liste.
ADO, CSV, DBM, ExampleP, File, Gofer, ODBC, SQLite, Sponge, mysql
Que manque-t-il?
Avez-vous DBD :: ODBC installé? – mopoke
Oui, j'ai DBD :: ODBC instaleld. Vérifié –
Des suggestions? –