rsim / oracle-enhanced

Oracle enhaced adapter for ActiveRecord
MIT License
545 stars 307 forks source link

No DLL is found to hook. #2262

Closed harveyflinn closed 2 years ago

harveyflinn commented 2 years ago

Steps to reproduce

Please refer https://github.com/rsim/oracle-enhanced/tree/master/guides/bug_report_templates to create an executable test case

Expected behavior

Tell us what should happen

Actual behavior

Tell us what happens instead

System configuration

Rails version:

Oracle enhanced adapter version:

Ruby version:

Oracle Database version:

harveyflinn commented 2 years ago

I am on Windows 10 with ruby 3.0.3p157 (2021-11-24 revision 3fb7d2cadc) [x64-mingw32] Rails 7.0.2.2

I execute db:schema:dump and get:

rails db:schema:dump --trace Invoke db:schema:dump (first_time) Invoke db:load_config (first_time) Invoke environment (first_time) Execute environment Execute db:load_config Execute db:schema:dump rails aborted! No DLL is found to hook. C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ruby-oci8-2.2.10-x64-mingw32/lib/oci8/properties.rb:74:in __set_prop' C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ruby-oci8-2.2.10-x64-mingw32/lib/oci8/properties.rb:74:in[]='

Oracle database is XE 21c.

I do not know what DLL is not found or if it is hook.dll. Any suggestions appreciated. Harvey

kubo commented 2 years ago

@harveyflinn This is an issue of ruby-oci8. I reproduced it with Oracle XE 21c. I'll fix it.

kubo commented 2 years ago

@harveyflinn Ruby-oci8 2.2.11 was released. It fixed the following two issues.

harveyflinn commented 2 years ago

Thanks Kubo.

I am getting satisfactory at this time with the oci8 that you fixed.

There seems to be another issue but it is not related to oci8.

After doing a "gem update" and "bundle install", I am seeing the following:

rails db:schema:dump --trace Calling DidYouMean::SPELL_CHECKERS.merge!(error_name => spell_checker)' has been deprecated. Please callDidYouMean.correct_error(error_name, spell_checker)' instead. C:/Ruby30-x64/lib/ruby/3.0.0/pathname.rb:20: warning: already initialized constant Pathname::TO_PATH C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/pathname-0.2.0/lib/pathname.rb:20: warning: previous definition of TO_PATH was here C:/Ruby30-x64/lib/ruby/3.0.0/pathname.rb:22: warning: already initialized constant Pathname::SAME_PATHS C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/pathname-0.2.0/lib/pathname.rb:22: warning: previous definition of SAME_PATHS was here C:/Ruby30-x64/lib/ruby/3.0.0/pathname.rb:31: warning: already initialized constant Pathname::SEPARATOR_LIST C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/pathname-0.2.0/lib/pathname.rb:31: warning: previous definition of SEPARATOR_LIST was here C:/Ruby30-x64/lib/ruby/3.0.0/pathname.rb:32: warning: already initialized constant Pathname::SEPARATOR_PAT C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/pathname-0.2.0/lib/pathname.rb:32: warning: previous definition of SEPARATOR_PAT was here C:/Ruby30-x64/lib/ruby/3.0.0/pathname.rb:39: warning: already initialized constant Pathname::ABSOLUTE_PATH C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/pathname-0.2.0/lib/pathname.rb:39: warning: previous definition of ABSOLUTE_PATH was here C:/Ruby30-x64/lib/ruby/3.0.0/x64-mingw32/fiddle.so: warning: already initialized constant Fiddle::TYPE_VOID C:/Ruby30-x64/lib/ruby/3.0.0/x64-mingw32/fiddle.so: warning: already initialized constant Fiddle::TYPE_VOIDP C:/Ruby30-x64/lib/ruby/3.0.0/x64-mingw32/fiddle.so: warning: already initialized constant Fiddle::TYPE_CHAR . . .

Thanks again, Harvey

yahonda commented 2 years ago

These warnings are not related to ruby-oci8. How about updating bunler and thor to see if these warnings disappears?

bundle update --bundler bundle update thor

If not please refer to these issues

Calling DidYouMean::SPELL_CHECKERS.merge!(error_name => spell_checker)' has been deprecated. Please call DidYouMean.correct_error(error_name, spell_checker)' instead.

This warning should have been fixed by thor v1.20.0 or higher. https://github.com/rails/thor/pull/761

C:/Ruby30-x64/lib/ruby/3.0.0/pathname.rb:20: warning: already initialized constant Pathname::TO_PATH

These warnings looks like fixed by Bundler 2.2.33 or higher https://github.com/ruby/pathname/issues/12

yahonda commented 2 years ago

Closing this issue.