Closed harveyflinn closed 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
@harveyflinn This is an issue of ruby-oci8. I reproduced it with Oracle XE 21c. I'll fix it.
@harveyflinn Ruby-oci8 2.2.11 was released. It fixed the following two issues.
OCI8.properties[:tcp_keepalive_time]
is set and Oracle client is 21c on Windows.OCI8.properties[:tcp_keepalive_time]
is set and ruby version is 3.1 on Windows.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 call
DidYouMean.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
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
Closing this issue.
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: