I'm trying to embed HSQL into an application written in JRuby using
Sequel, but I'm not having much luck.  My first question is should I
be able to do this?  And if so, why isn't the driver being found when
I'm explicitly requiring it?

This simple code...

require 'sequel'
require 'C:/sw/hsqldb/lib/hsqldb.jar'

$transientdb = Sequel.connect('jdbc:hsqldb:mem:testmem') if
$transientdb == nil
$permanentdb = Sequel.connect('jdbc:hsqldb:file:testfile') if
$permanentdb == nil
puts $transientdb.inspect
puts $permanentdb.inspect

class Call < Sequel::Model($transientdb[:calls])
  set_schema do
    primary_key   :id
    varchar       :name
  end
end

Results in this output...

#<Sequel::JDBC::Database: "jdbc:hsqldb:mem:testmem">
#<Sequel::JDBC::Database: "jdbc:hsqldb:file:testfile">
java/sql/DriverManager.java:602:in `getConnection':
java.sql.SQLException: No suitable driver found for
jdbc:hsqldb:mem:testmem (NativeException)
        from java/sql/DriverManager.java:207:in `getConnection'
        from sun/reflect/NativeMethodAccessorImpl.java:-2:in `invoke0'
        from sun/reflect/NativeMethodAccessorImpl.java:39:in `invoke'
        from sun/reflect/DelegatingMethodAccessorImpl.java:25:in `invoke'
        from java/lang/reflect/Method.java:597:in `invoke'
        from org/jruby/javasupport/JavaMethod.java:298:in
`invokeWithExceptionHandling'
        from org/jruby/javasupport/JavaMethod.java:278:in `invoke_static'
        from org/jruby/java/invokers/StaticMethodInvoker.java:47:in `call'
         ... 148 levels...
        from C:/Program Files/NetBeans 6.5/ruby2/jruby-1.1.4/lib/ruby/gems/
1.8/gems/rake-0.8.3/lib/rake/rake_test_loader.rb:5
        from C:/Program Files/NetBeans 6.5/ruby2/jruby-1.1.4/lib/ruby/gems/
1.8/gems/rake-0.8.3/lib/rake/rake_test_loader.rb:5:in `each'
        from C:/Program Files/NetBeans 6.5/ruby2/jruby-1.1.4/lib/ruby/gems/
1.8/gems/rake-0.8.3/lib/rake/rake_test_loader.rb:5
Complete Java stackTrace
java.sql.SQLException: No suitable driver found for
jdbc:hsqldb:mem:testmem
        at java.sql.DriverManager.getConnection(DriverManager.java:602)
        at java.sql.DriverManager.getConnection(DriverManager.java:207)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.jruby.javasupport.JavaMethod.invokeWithExceptionHandling
(JavaMethod.java:298)
        at org.jruby.javasupport.JavaMethod.invoke_static(JavaMethod.java:
278)
        at org.jruby.java.invokers.StaticMethodInvoker.call
(StaticMethodInvoker.java:47)
        at org.jruby.runtime.CallSite$InlineCachingCallSite.call
(CallSite.java:391)
        at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
        at org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:101)
        at org.jruby.internal.runtime.methods.DefaultMethod.interpretedCall
(DefaultMethod.java:163)
        at org.jruby.internal.runtime.methods.DefaultMethod.call
(DefaultMethod.java:140)
        at org.jruby.internal.runtime.methods.DefaultMethod.call
(DefaultMethod.java:253)
        at org.jruby.runtime.CallSite$InlineCachingCallSite.call
(CallSite.java:391)
        at org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:101)
        at org.jruby.runtime.InterpretedBlock.evalBlockBody
(InterpretedBlock.java:202)
        at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:
190)
        at org.jruby.runtime.BlockBody.call(BlockBody.java:64)
        at org.jruby.runtime.Block.call(Block.java:101)
        at org.jruby.RubyProc.call(RubyProc.java:200)
        at org.jruby.RubyProc.call(RubyProc.java:187)
        at org.jruby.RubyProc$i_method_0_0$RUBYFRAMEDINVOKER$call.call(org/
jruby/RubyProc$i_method_0_0$RUBYFRAMEDINVOKER$call.gen)
        at org.jruby.internal.runtime.methods.JavaMethod
$JavaMethodNoBlock.call(JavaMethod.java:62)
        at org.jruby.internal.runtime.methods.DynamicMethod.call
(DynamicMethod.java:242)
        at org.jruby.internal.runtime.methods.DynamicMethod.call
(DynamicMethod.java:151)
        at org.jruby.runtime.CallSite$InlineCachingCallSite.call
(CallSite.java:391)
        at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
        at org.jruby.ast.IfNode.interpret(IfNode.java:108)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:101)
        at org.jruby.ast.BlockNode.interpret(BlockNode.java:67)
        at org.jruby.ast.IfNode.interpret(IfNode.java:108)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:101)
        at org.jruby.internal.runtime.methods.DefaultMethod.interpretedCall
(DefaultMethod.java:163)
        at org.jruby.internal.runtime.methods.DefaultMethod.call
(DefaultMethod.java:140)
        at org.jruby.internal.runtime.methods.DefaultMethod.call
(DefaultMethod.java:253)
        at org.jruby.runtime.CallSite$InlineCachingCallSite.call
(CallSite.java:391)
        at org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36)
        at org.jruby.ast.OrNode.interpret(OrNode.java:94)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:101)
        at org.jruby.internal.runtime.methods.DefaultMethod.interpretedCall
(DefaultMethod.java:163)
        at org.jruby.internal.runtime.methods.DefaultMethod.call
(DefaultMethod.java:140)
        at org.jruby.internal.runtime.methods.DefaultMethod.call
(DefaultMethod.java:253)
        at org.jruby.runtime.CallSite$InlineCachingCallSite.call
(CallSite.java:391)
        at org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36)
        at org.jruby.ast.DAsgnNode.interpret(DAsgnNode.java:107)
        at org.jruby.ast.IfNode.interpret(IfNode.java:103)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:101)
        at org.jruby.runtime.InterpretedBlock.evalBlockBody
(InterpretedBlock.java:202)
        at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:
153)
        at org.jruby.runtime.Block.yield(Block.java:105)
        at org.jruby.libraries.ThreadLibrary$Mutex.synchronize
(ThreadLibrary.java:159)
        at org.jruby.libraries.ThreadLibrary$Mutex$i_method_0_0$RUBYINVOKER
$synchronize.call(org/jruby/libraries/ThreadLibrary$Mutex
$i_method_0_0$RUBYINVOKER$synchronize.gen)
        at org.jruby.runtime.CallSite$InlineCachingCallSite.call
(CallSite.java:352)
        at org.jruby.ast.CallNoArgBlockNode.interpret(CallNoArgBlockNode.java:
63)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:101)
        at org.jruby.internal.runtime.methods.DefaultMethod.interpretedCall
(DefaultMethod.java:163)
        at org.jruby.internal.runtime.methods.DefaultMethod.call
(DefaultMethod.java:140)
        at org.jruby.internal.runtime.methods.DefaultMethod.call
(DefaultMethod.java:295)
        at org.jruby.runtime.CallSite$InlineCachingCallSite.call
(CallSite.java:442)
        at org.jruby.ast.FCallTwoArgNode.interpret(FCallTwoArgNode.java:38)
        at org.jruby.ast.LocalAsgnNode.interpret(LocalAsgnNode.java:115)
        at org.jruby.ast.UntilNode.interpret(UntilNode.java:113)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:101)
        at org.jruby.ast.BlockNode.interpret(BlockNode.java:67)
        at org.jruby.ast.RescueNode.executeBody(RescueNode.java:222)
        at org.jruby.ast.RescueNode.interpretWithJavaExceptions
(RescueNode.java:144)
        at org.jruby.ast.RescueNode.interpret(RescueNode.java:107)
        at org.jruby.ast.BeginNode.interpret(BeginNode.java:80)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:101)
        at org.jruby.internal.runtime.methods.DefaultMethod.interpretedCall
(DefaultMethod.java:163)
        at org.jruby.internal.runtime.methods.DefaultMethod.call
(DefaultMethod.java:140)
        at org.jruby.internal.runtime.methods.DefaultMethod.call
(DefaultMethod.java:274)
        at org.jruby.runtime.CallSite$InlineCachingCallSite.call
(CallSite.java:403)
        at org.jruby.ast.CallOneArgBlockPassNode.interpret
(CallOneArgBlockPassNode.java:60)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:101)
        at org.jruby.internal.runtime.methods.DefaultMethod.interpretedCall
(DefaultMethod.java:163)
        at org.jruby.internal.runtime.methods.DefaultMethod.call
(DefaultMethod.java:140)
        at org.jruby.internal.runtime.methods.DefaultMethod.call
(DefaultMethod.java:274)
        at org.jruby.runtime.CallSite$InlineCachingCallSite.cacheAndCall
(CallSite.java:168)
        at org.jruby.runtime.CallSite$InlineCachingCallSite.callIter
(CallSite.java:425)
        at org.jruby.ast.FCallOneArgBlockNode.interpret
(FCallOneArgBlockNode.java:33)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:101)
        at org.jruby.internal.runtime.methods.DefaultMethod.interpretedCall
(DefaultMethod.java:163)
        at org.jruby.internal.runtime.methods.DefaultMethod.call
(DefaultMethod.java:140)
        at org.jruby.internal.runtime.methods.DefaultMethod.call
(DefaultMethod.java:232)
        at org.jruby.runtime.CallSite$InlineCachingCallSite.cacheAndCall
(CallSite.java:144)
        at org.jruby.runtime.CallSite$InlineCachingCallSite.call
(CallSite.java:355)
        at org.jruby.ast.CallNoArgBlockNode.interpret(CallNoArgBlockNode.java:
63)
        at org.jruby.ast.IfNode.interpret(IfNode.java:110)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:101)
        at org.jruby.ast.BlockNode.interpret(BlockNode.java:67)
        at org.jruby.evaluator.ASTInterpreter.evalClassDefinitionBody
(ASTInterpreter.java:225)
        at org.jruby.ast.ClassNode.interpret(ClassNode.java:141)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:101)
        at org.jruby.ast.BlockNode.interpret(BlockNode.java:67)
        at org.jruby.ast.RootNode.interpret(RootNode.java:126)
        at org.jruby.Ruby.loadFile(Ruby.java:2107)
        at org.jruby.runtime.load.ExternalScript.load(ExternalScript.java:58)
        at org.jruby.runtime.load.LoadService.smartLoad(LoadService.java:331)
        at org.jruby.runtime.load.LoadService.require(LoadService.java:357)
        at org.jruby.RubyKernel.require(RubyKernel.java:818)
        at org.jruby.RubyKernel$s_method_1_0$RUBYFRAMEDINVOKER$require.call
(org/jruby/RubyKernel$s_method_1_0$RUBYFRAMEDINVOKER$require.gen)
        at org.jruby.internal.runtime.methods.DynamicMethod.call
(DynamicMethod.java:151)
        at org.jruby.internal.runtime.methods.AliasMethod.call
(AliasMethod.java:64)
        at org.jruby.runtime.CallSite$InlineCachingCallSite.call
(CallSite.java:391)
        at org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:101)
        at org.jruby.ast.RescueNode.executeBody(RescueNode.java:222)
        at org.jruby.ast.RescueNode.interpretWithJavaExceptions
(RescueNode.java:144)
        at org.jruby.ast.RescueNode.interpret(RescueNode.java:107)
        at org.jruby.internal.runtime.methods.DefaultMethod.interpretedCall
(DefaultMethod.java:163)
        at org.jruby.internal.runtime.methods.DefaultMethod.call
(DefaultMethod.java:140)
        at org.jruby.internal.runtime.methods.DefaultMethod.call
(DefaultMethod.java:253)
        at org.jruby.runtime.CallSite$InlineCachingCallSite.cacheAndCall
(CallSite.java:156)
        at org.jruby.runtime.CallSite$InlineCachingCallSite.call
(CallSite.java:394)
        at org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:101)
        at org.jruby.ast.BlockNode.interpret(BlockNode.java:67)
        at org.jruby.ast.RootNode.interpret(RootNode.java:126)
        at org.jruby.Ruby.loadFile(Ruby.java:2107)
        at org.jruby.runtime.load.ExternalScript.load(ExternalScript.java:58)
        at org.jruby.runtime.load.LoadService.load(LoadService.java:221)
        at org.jruby.RubyKernel.load(RubyKernel.java:830)
        at org.jruby.RubyKernel$s_method_0_1$RUBYFRAMEDINVOKER$load.call(org/
jruby/RubyKernel$s_method_0_1$RUBYFRAMEDINVOKER$load.gen)
        at org.jruby.internal.runtime.methods.DynamicMethod.call
(DynamicMethod.java:242)
        at org.jruby.internal.runtime.methods.DynamicMethod.call
(DynamicMethod.java:151)
        at org.jruby.runtime.CallSite$InlineCachingCallSite.cacheAndCall
(CallSite.java:156)
        at org.jruby.runtime.CallSite$InlineCachingCallSite.call
(CallSite.java:394)
        at
C_3a_.Program_20_Files.NetBeans_20_6_dot_5.ruby2.jruby_minus_1_dot_1_dot_4.lib.ruby.gems.
$1_dot_8.gems.rake_minus_0_dot_8_dot_3.lib.rake.rake_test_loader.block_0$RUBY
$__block__(rake_test_loader.rb:5)
        at
C_3a_.Program_20_Files.NetBeans_20_6_dot_5.ruby2.jruby_minus_1_dot_1_dot_4.lib.ruby.gems.
$1_dot_8.gems.rake_minus_0_dot_8_dot_3.lib.rake.rake_test_loaderBlockCallback
$block_0$RUBY$__block__xx1.call(Unknown Source)
        at org.jruby.runtime.CompiledBlock.yield(CompiledBlock.java:100)
        at org.jruby.runtime.Block.yield(Block.java:105)
        at org.jruby.RubyArray.each(RubyArray.java:1415)
        at org.jruby.RubyArray$i_method_0_0$RUBYFRAMEDINVOKER$each.call(org/
jruby/RubyArray$i_method_0_0$RUBYFRAMEDINVOKER$each.gen)
        at org.jruby.runtime.CallSite$InlineCachingCallSite.cacheAndCall
(CallSite.java:144)
        at org.jruby.runtime.CallSite$InlineCachingCallSite.callIter
(CallSite.java:374)
        at
C_3a_.Program_20_Files.NetBeans_20_6_dot_5.ruby2.jruby_minus_1_dot_1_dot_4.lib.ruby.gems.
$1_dot_8.gems.rake_minus_0_dot_8_dot_3.lib.rake.rake_test_loader.__file__
(rake_test_loader.rb:5)
        at
C_3a_.Program_20_Files.NetBeans_20_6_dot_5.ruby2.jruby_minus_1_dot_1_dot_4.lib.ruby.gems.
$1_dot_8.gems.rake_minus_0_dot_8_dot_3.lib.rake.rake_test_loader.__file__
(rake_test_loader.rb)
        at
C_3a_.Program_20_Files.NetBeans_20_6_dot_5.ruby2.jruby_minus_1_dot_1_dot_4.lib.ruby.gems.
$1_dot_8.gems.rake_minus_0_dot_8_dot_3.lib.rake.rake_test_loader.load
(rake_test_loader.rb)
        at org.jruby.Ruby.runScript(Ruby.java:544)
        at org.jruby.Ruby.runNormally(Ruby.java:457)
        at org.jruby.Ruby.runFromMain(Ruby.java:330)
        at org.jruby.Main.run(Main.java:214)
        at org.jruby.Main.run(Main.java:100)
        at org.jruby.Main.main(Main.java:84)
rake aborted!
Command failed with status (1): ["C:/Program Files/NetBeans 6.5/ruby2/
jruby...]

(See full trace by running task with --trace)

Finished in 0.0 seconds.
0 tests, 0 failures, 0 errors

Any advice appreciated!

Thanks,
Lee
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"sequel-talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/sequel-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to