Voici mon script:Pourquoi DBI de Perl se plaint-il de "Fetch tenté sur un curseur non ouvert"?
$db_handle=DBI->connect("$dbstr", "", "",
{RaiseError => 0, AutoCommit => 0, PrintError => 1})
|| die "Connect error: $DBI::errstr" ;
$result=$db_handle->selectrow_array("set isolation to dirty read");
Note: $dbstr
est un nom de base de données valide.
Je ne suis pas un programmeur de base de données. Qu'est-ce que je fais mal qui est à l'origine du script Perl fail dire:
DBD::Informix::db selectrow_array failed: SQL: -400: Fetch attempted on unopen cursor.
Si j'écris un script simple pour se connecter à la base de données $dbstr
et afficher le contenu de la table, il fonctionne très bien, mais le code ci-dessus ne fonctionne pas.
S'il vous plaît noter qu'il ya des endroits documentés pour obtenir un soutien DBD :: Informix (ce n'est pas un d'entre eux, mais il n'existait pas quand la dernière version de DBD :: Informix était créé). S'il vous plaît noter, encore plus important, qu'il existe un * LOT * d'informations de version qui est nécessaire pour répondre à des questions plus complexes, y compris la version de: Perl, DBI, DBD :: Informix, ESQL/C (ou CSDK), IDS (ou autre SGBD Informix), plate-forme, et parfois même le compilateur. Ces exigences sont énoncées dans la documentation avec la source. Il y a même un script fourni pour en recueillir la plus grande partie - InformixTechSupport. –