perl - Perl DBD :: JDBC 模块问题 找不到适合 jdbc:hsqldb 的驱动程序
问题描述
我正在使用 Strawberry Perl 5.28 版本,最终在安装 DBD::JDBC 模块时遇到问题。因此,即使我下载 DBC::JDBC 模块并运行 perl Makefile.PL,make/gmake、make test、gmake test 也始终失败。我已经安装了 JDK 8 和 JRE。任何帮助,将不胜感激 。
C:\Users>cpan DBD::JDBC DBI
Loading internal logger. Log::Log4perl recommended for better logging
CPAN: CPAN::SQLite loaded ok (v0.217)
Database was generated on Thu, 20 May 2021 14:53:47 GMT
Running install for module 'DBD::JDBC'
CPAN: Digest::SHA loaded ok (v6.02)
CPAN: Compress::Zlib loaded ok (v2.086)
Checksum for C:\STRAWB~1\cpan\sources\authors\id\V\VI\VIZDOM\DBD-JDBC-0.71.tar.gz ok
CPAN: Archive::Tar loaded ok (v2.32)
CPAN: YAML::XS loaded ok (v0.77)
CPAN: CPAN::Meta::Requirements loaded ok (v2.140)
CPAN: CPAN::Meta loaded ok (v2.150010)
Configuring V/VI/VIZDOM/DBD-JDBC-0.71.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
Using DBI 1.643 (for perl 5.028002 on MSWin32-x64-multi-thread) installed in C:/strawberry/perl/site/lib/auto/DBI/
Generating a gmake-style Makefile
Writing Makefile for DBD::JDBC
Writing MYMETA.yml and MYMETA.json
VIZDOM/DBD-JDBC-0.71.tar.gz
C:\strawberry\perl\bin\perl.exe Makefile.PL -- OK
Running make for V/VI/VIZDOM/DBD-JDBC-0.71.tar.gz
CPAN: Module::CoreList loaded ok (v5.20190420)
cp JDBC.pod blib\lib\DBD\JDBC.pod
cp lib/Bundle/DBD/JDBC.pm blib\lib\Bundle\DBD\JDBC.pm
cp JDBC.pm blib\lib\DBD\JDBC.pm
VIZDOM/DBD-JDBC-0.71.tar.gz
C:\STRAWB~1\c\bin\gmake.exe -- OK
Running make test for VIZDOM/DBD-JDBC-0.71.tar.gz
set CLASSPATH=dbd_jdbc.jar;t/hsqldb/hsqldb-1.8.0.2.jar;t/hsqldb/log4j-1.2.13.jar;C:\Users\Downloads\DBD-JDBC-0.71.tar\DBD-JDBC-0.71\log4j.properties;C:\Users\Downloads\SimbaSparkJDBC4-2.6.16.1020\SparkJDBC4.jar;
"C:\strawberry\perl\bin\perl.exe" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib\lib', 'blib\arch')" t/*.t
t/01_env.t ...... ok
t/02_connect.t .. 1/5 DBD::JDBC::dr connect warning: No suitable driver found for jdbc:hsqldb:file:t/hsqldb/testdb at C:/strawberry/perl/site/lib/DBI.pm line 679.
# Failed test 'connected'
# at t/02_connect.t line 40.
t/02_connect.t .. 3/5 # Connection error: No suitable driver found for jdbc:hsqldb:file:t/hsqldb/testdb
# Make sure your CLASSPATH includes your JDBC driver.
# Looks like you failed 1 test of 5.
t/02_connect.t .. Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/5 subtests
(less 2 skipped subtests: 2 okay)
t/03_hsqldb.t ... 1/22 DBD::JDBC::dr connect warning: No suitable driver found for jdbc:hsqldb:file:t/hsqldb/testdb at C:/strawberry/perl/site/lib/DBI.pm line 679.
# Failed test 'connected'
# at t/03_hsqldb.t line 34.
t/03_hsqldb.t ... 2/22 # Connection error: No suitable driver found for jdbc:hsqldb:file:t/hsqldb/testdb
# Looks like your test exited with 1 just after 22.
t/03_hsqldb.t ... Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/22 subtests
(less 20 skipped subtests: 1 okay)
t/basis.t ....... skipped: BASIS URL not defined
t/oracle.t ...... skipped: Oracle URL not defined
Test Summary Report
-------------------
t/02_connect.t (Wstat: 256 Tests: 5 Failed: 1)
Failed test: 3
Non-zero exit status: 1
t/03_hsqldb.t (Wstat: 256 Tests: 22 Failed: 1)
Failed test: 2
Non-zero exit status: 1
Files=5, Tests=32, 7 wallclock secs ( 0.05 usr + 0.02 sys = 0.06 CPU)
Result: FAIL
Failed 2/5 test programs. 2/32 subtests failed.
gmake: *** [Makefile:780: test_dynamic] Error 255
VIZDOM/DBD-JDBC-0.71.tar.gz
C:\STRAWB~1\c\bin\gmake.exe test -- NOT OK
//hint// to see the cpan-testers results for installing this module, try:
reports VIZDOM/DBD-JDBC-0.71.tar.gz
Stopping: 'install' failed for 'DBD::JDBC'.
DBI is up to date (1.643).
解决方案
经过大量的斗争,我找到了解决这个问题的简单方法来安装 DBD::JDBC 是将这个模块下载为 tar 文件:DBD-JDBC-0.71.tar 从 CPAN 并导航到安装草莓 Perl 的路径,如 C:\ Strawberry\perl\vendor\lib\DBD 并将所有文件从提取的 tar 移动到此处。那么 JDBC 应该开始工作了。
推荐阅读
- php - 为什么我的外部样式 css 表在 IE 中没有通过,但在 Chrome 中可以通过?
- chart.js - cartjs 工具提示显示在图表上的错误位置
- python - 梯度计算
- python - 从 TextFileReader 对象转换为 pandas DataFrame
- swift - TCP/IP 与 NWConnection 在 swift 中的未知结果
- git - git describe 不适合 git 流程?
- php - Laravel 5.8 Eloquent Create() 返回错误的 ID
- r - 在 r 中拆分一列
- javascript - 从外部确定哪些测试用例失败 - Javascript
- c# - ManagedBass Wasapi dll UWP