ruby-on-rails - Oracle on Rails [Windows 10]
问题描述
我在使用 Rails 连接到 oracle 数据库时遇到问题。我配置了 oracle 即时客户端,一切正常,但是当我启动 rails 应用程序时,它显示以下错误
RuntimeError 找不到要挂接的 DLL。
信息:
-ruby 2.6.3p62(2019-04-16 修订版 67580)[x64-mingw32]
-Rails 5.2.6
-ruby-oci8 (2.2.9-x64-mingw32)
RuntimeError (No DLL is found to hook.):
ruby-oci8-2.2.9-x64 (mingw32) lib/oci8/properties.rb:74:in `__set_prop'
ruby-oci8-2.2.9-x64 (mingw32) lib/oci8/properties.rb:74:in `[]='
activerecord-oracle_enhanced-adapter (5.2.8) lib/active_record/connection_adapters/oracle_enhanced/oci_connection.rb:322:in `new_connection'
activerecord-oracle_enhanced-adapter (5.2.8) lib/active_record/connection_adapters/oracle_enhanced/oci_connection.rb:386:in `initialize'
activerecord-oracle_enhanced-adapter (5.2.8) lib/active_record/connection_adapters/oracle_enhanced/oci_connection.rb:31:in `new'
activerecord-oracle_enhanced-adapter (5.2.8) lib/active_record/connection_adapters/oracle_enhanced/oci_connection.rb:31:in `initialize'
activerecord-oracle_enhanced-adapter (5.2.8) lib/active_record/connection_adapters/oracle_enhanced/connection.rb:11:in `new'
activerecord-oracle_enhanced-adapter (5.2.8) lib/active_record/connection_adapters/oracle_enhanced/connection.rb:11:in `create'
activerecord-oracle_enhanced-adapter (5.2.8) lib/active_record/connection_adapters/oracle_enhanced_adapter.rb:74:in `oracle_enhanced_connection'
activerecord (5.2.6) lib/active_record/connection_adapters/abstract/connection_pool.rb:830:in `new_connection'
activerecord (5.2.6) lib/active_record/connection_adapters/abstract/connection_pool.rb:874:in `checkout_new_connection'
activerecord (5.2.6) lib/active_record/connection_adapters/abstract/connection_pool.rb:853:in `try_to_checkout_new_connection'
activerecord (5.2.6) lib/active_record/connection_adapters/abstract/connection_pool.rb:814:in `acquire_connection'
activerecord (5.2.6) lib/active_record/connection_adapters/abstract/connection_pool.rb:538:in `checkout'
activerecord (5.2.6) lib/active_record/connection_adapters/abstract/connection_pool.rb:382:in `connection'
activerecord (5.2.6) lib/active_record/connection_adapters/abstract/connection_pool.rb:1033:in `retrieve_connection'
activerecord (5.2.6) lib/active_record/connection_handling.rb:118:in `retrieve_connection'
activerecord (5.2.6) lib/active_record/connection_handling.rb:90:in `connection'
activerecord (5.2.6) lib/active_record/migration.rb:554:in `call'
actionpack (5.2.6) lib/action_dispatch/middleware/callbacks.rb:28:in `block in call'
activesupport (5.2.6) lib/active_support/callbacks.rb:98:in `run_callbacks'
actionpack (5.2.6) lib/action_dispatch/middleware/callbacks.rb:26:in `call'
actionpack (5.2.6) lib/action_dispatch/middleware/executor.rb:14:in `call'
actionpack (5.2.6) lib/action_dispatch/middleware/debug_exceptions.rb:61:in `call'
web-console (3.7.0) lib/web_console/middleware.rb:135:in `call_app'
web-console (3.7.0) lib/web_console/middleware.rb:30:in `block in call'
web-console (3.7.0) lib/web_console/middleware.rb:20:in `catch'
web-console (3.7.0) lib/web_console/middleware.rb:20:in `call'
actionpack (5.2.6) lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'
railties (5.2.6) lib/rails/rack/logger.rb:38:in `call_app'
railties (5.2.6) lib/rails/rack/logger.rb:26:in `block in call'
activesupport (5.2.6) lib/active_support/tagged_logging.rb:71:in `block in tagged'
activesupport (5.2.6) lib/active_support/tagged_logging.rb:28:in `tagged'
activesupport (5.2.6) lib/active_support/tagged_logging.rb:71:in `tagged'
railties (5.2.6) lib/rails/rack/logger.rb:26:in `call'
sprockets-rails (3.2.2) lib/sprockets/rails/quiet_assets.rb:13:in `call'
actionpack (5.2.6) lib/action_dispatch/middleware/remote_ip.rb:81:in `call'
actionpack (5.2.6) lib/action_dispatch/middleware/request_id.rb:27:in `call'
rack (2.2.3) lib/rack/method_override.rb:24:in `call'
rack (2.2.3) lib/rack/runtime.rb:22:in `call'
activesupport (5.2.6) lib/active_support/cache/strategy/local_cache_middleware.rb:29:in `call'
actionpack (5.2.6) lib/action_dispatch/middleware/executor.rb:14:in `call'
actionpack (5.2.6) lib/action_dispatch/middleware/static.rb:127:in `call'
rack (2.2.3) lib/rack/sendfile.rb:110:in `call'
railties (5.2.6) lib/rails/engine.rb:524:in `call'
puma (3.12.6) lib/puma/configuration.rb:227:in `call'
puma (3.12.6) lib/puma/server.rb:706:in `handle_request'
puma (3.12.6) lib/puma/server.rb:476:in `process_client'
puma (3.12.6) lib/puma/server.rb:334:in `block in run'
puma (3.12.6) lib/puma/thread_pool.rb:135:in `block in spawn_thread'
我的 database.yml 配置(隐藏端口、ip 等信息):
default: &default
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
timeout: 5000
development:
<<: *default
adapter: oracle_enhanced
database: SID
username: USER
password: PASSWORD
host: IP
port: PORT
解决方案
推荐阅读
- mapbox-gl-js - 如何平滑地翻译/动画mapboxgl JS点图层符号的更新位置
- python - 使用 pywinauto 自动安装软件时出错
- java - Java - 检查 arrayList 中的重复项并阻止用户向数组添加订单
- mysql - MySQL 工作台无法在 GUI 中显示整数数据类型
- java - Java - 在指定的给定月份 - 年份范围内打印每个月的第一个和最后一个日期
- html - 如何将行和列放在部分的中心
- leaflet - popup.openOn(map) 仅适用于 firefox,不适用于 chrome 或 edge
- javascript - 在对象数组中搜索特定值并返回多个结果
- powershell - 将参数传递到 Jenkins Pipeline 中的 Powershell 脚本
- c++ - Coin3D 裁剪当前视图