のWindows-7-x64ではDBIはPerlとMySQLを使用して:
のMySQL 5.5 のActivePerl v5.14.1 のWindows 7 64ビット
次のスクリプトは、未定義の$ DBIがあります。 :実行呼び出しの失敗のerrstrは:
#!c:/perl/bin/perl.exe -w
use DBI;
my $dbh = DBI->connect('dbi:mysql:cq','root','password') or die "Connection Error: $DBI::errstr\n";
# This SQL should fail because of a foreign key constraint
my $sql = "delete from Player where ID=6462";
my $sth = $dbh->prepare($sql);
$sth->execute or die "SQL Error: $DBI::errstr\n";
出力スクリプトが実行されている。
Use of uninitialized value $DBI::errstr in concatenation (.) or string at testmysql2.pl line 10.
SQL Error:
HeidiSQL経由でSQLの実行が期待される外部キーエラー提供: は
のWindows XP 32ビット上で実行する同じスクリプトを(私は新しいユーザーだと私は、画像を挿入することはできませんが)予想されるエラーを提供:
DBD::mysql::st execute failed: Cannot delete or update a parent row: a foreign key constraint fails (`cq`.`messageboard`, CONSTRAINT `messageboard_ibfk_1` FOREIGN KEY (`PlayerID`) REFERENCES `player` (`ID`)) at testmysql2.pl line 10.
SQL Error2: Cannot delete or update a parent row: a foreign key constraint fails (`cq`.`messageboard`, CONSTRAINT `messageboard_ibfk_1` FOREIGN KEY (`PlayerID`) REFERENCES `player` (`ID`))
注:
問題は関係なく、SQLの、例えばSQL構文エラーが未定義$ DBIになりますが発生::興味深いことにerrstrは
コ例えば、MySQLサービスを停止 - - nnectionエラーが返され、予想通り、スクリプトを実行すると、以下の出力が与えられます。
DBI connect('cq','root',...) failed: Can't connect to MySQL server on 'localhost' (10061) at testmysql2.pl line 4
Connection Error: Can't connect to MySQL server on 'localhost' (10061)
は、トレースレベルは(私にとって)有用な情報を提供しない設定:
$sth->trace(5, "trace.txt");
$sth->execute or die "SQL Error: $DBI::errstr\n";
いくつかの再フォーマットとtrace.txtでのスニペットと
として:予想通り正しいSQLが動作し
dbd_st_free_result_sets
mysql_st_internal_execute MYSQL_VERSION_ID 50147
parse_params statement delete from Player where ID=6462
dbd_st_execute returning imp_sth->row_num 18446744073709551614
execute= (undef) [1 items] at testmysql2.pl line 11
DESTROY for DBD::mysql::st (DBI::st=HASH(0x29dc0a8)~INNER) thr#2a97e8
。私はこれがWindows 7の64ビットのバグだと思いますか? - しかし、私は明確に/どのように解決するか、報告するための正確な場所を見つける/紛失している。
これまでのところ...読んでいただきありがとうございました!
'DBI'と' DBD :: mysql'のどのバージョンですか? – mob