ActiveRecord ::StatementInvalid: ошибка: ORA-01465: недопустимый шестнадцатеричный номер

#ruby-on-rails #ruby #oracle #rails-activerecord

#ruby-on-rails #рубиновый #Oracle #рельсы-activerecord

Вопрос:

Я пытаюсь запустить расширенный набор тестов Oracle локально. После запуска Oracle, как в oracle_enhanced CI, установки ruby, клиента oracle, команд SQL и т. Д. Я все еще вижу эту ошибку, пытаясь запустить что raw blob -либо, в частности, с / data raw_spec.rb . Недвоичные данные работают в основном нормально.

 ActiveRecord::StatementInvalid: OCIError: ORA-01465: invalid hex number

  0) OracleEnhancedAdapter handling of RAW columns should update record with RAW data
     Failure/Error: @raw_cursor.exec

     ActiveRecord::StatementInvalid:
       OCIError: ORA-01465: invalid hex number
     # stmt.c:265:in oci8lib_270.so
     # /home/avalon/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/bundler/gems/ruby-oci8-d7426d763dd0/lib/oci8/cursor.rb:137:in `exec'
 

Проблемный код — это:

     @employee = TestEmployee.create!(
      first_name: "First",
      last_name: "Last",
      binary_data: @binary_data
    )
 

Я не смог найти ничего подходящего в Интернете. Есть идеи, в чем может быть проблема? Чего мне не хватает в моей настройке, из-за чего у меня что-то не получается, пока они работают в oracle-enhanced CI?