ActiveRecord::StatementInvalid (OCIError: ORA-01741: illegal zero-length identifier: DELETE FROM...











up vote
0
down vote

favorite
1












In my ruby on rails application that was running in mysql and I have used devise gem for authentication and I am storing sessions in database. Now I need to migrate the same to oracle. I copied the data and tables to Oracle and using Oracle enhanced adapter to connect to Oracle.Application is up and when i sign in i am getting the below error



  ActiveRecord::StatementInvalid (OCIError: ORA-01741: illegal zero-length identifier: DELETE FROM "SESSIONS" WHERE "SESSIONS"."" = :a1):
stmt.c:82:in oci8lib_230.so
ruby-oci8 (2.1.8) lib/oci8/cursor.rb:28:in `initialize'
ruby-oci8 (2.1.8) lib/oci8/oci8.rb:177:in `new'
ruby-oci8 (2.1.8) lib/oci8/oci8.rb:177:in `parse_internal'
ruby-oci8 (2.1.8) lib/oci8/oci8.rb:170:in `parse'
/home/garima/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/delegate.rb:341:in `block in delegating_block'
activerecord-oracle_enhanced-adapter (1.6.3) lib/active_record/connection_adapters/oracle_enhanced/oci_connection.rb:109:in `prepare'


I have created sessions table with trigger to add id. I could see values are getting added to session table.



  class SessionsController < Devise::SessionsController
prepend_before_filter :user_active?, only: [:new, :create]

# before_action :configure_sign_in_params, only: [:create]
around_action :time_zone, only: [:create]
after_action :locale, only: [:create]

def user_active?
if (!params["user"].blank?)
@user=User.find_by(:email => params["user"]["email"])
if (!@user.blank?)
if (!@user.active)
flash[:error] = I18n.t('devise.failure.inactive')
elsif (!@user.email_verification_status)
flash[:error] = I18n.t('signup.verification.not_yet_verified')
else
return true
end
else
flash[:error] = I18n.t('login.errors.invalid')
end
redirect_to "/signin"
end
end

# GET /resource/sign_in
def new
@sign_in = true
super
end

# POST /resource/sign_in
def create
super do |_resource|
end
end

end

class User < ActiveRecord::Base
extend FriendlyId
devise :database_authenticatable,
:recoverable, :trackable, :validatable, :timeoutable

before_validation :strip_whitespace, :only => [:email]
default_scope {where(clean_up: false)}
has_many :store_user_assignments
has_many :stores, through: :store_user_assignments
has_and_belongs_to_many :clients, join_table: :clients_users
has_many :store_user_assignments
has_many :stores, through: :store_user_assignments
belongs_to :profile

# This is required in order to allow integrity constraints to work as expected since email is the primary key and it is case insensitive
before_save {self.email = email.downcase}
before_save :update_full_name
after_create :create_slug

# friendly_id :slug
friendly_id :slug, use: :slugged
end









share|improve this question


























    up vote
    0
    down vote

    favorite
    1












    In my ruby on rails application that was running in mysql and I have used devise gem for authentication and I am storing sessions in database. Now I need to migrate the same to oracle. I copied the data and tables to Oracle and using Oracle enhanced adapter to connect to Oracle.Application is up and when i sign in i am getting the below error



      ActiveRecord::StatementInvalid (OCIError: ORA-01741: illegal zero-length identifier: DELETE FROM "SESSIONS" WHERE "SESSIONS"."" = :a1):
    stmt.c:82:in oci8lib_230.so
    ruby-oci8 (2.1.8) lib/oci8/cursor.rb:28:in `initialize'
    ruby-oci8 (2.1.8) lib/oci8/oci8.rb:177:in `new'
    ruby-oci8 (2.1.8) lib/oci8/oci8.rb:177:in `parse_internal'
    ruby-oci8 (2.1.8) lib/oci8/oci8.rb:170:in `parse'
    /home/garima/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/delegate.rb:341:in `block in delegating_block'
    activerecord-oracle_enhanced-adapter (1.6.3) lib/active_record/connection_adapters/oracle_enhanced/oci_connection.rb:109:in `prepare'


    I have created sessions table with trigger to add id. I could see values are getting added to session table.



      class SessionsController < Devise::SessionsController
    prepend_before_filter :user_active?, only: [:new, :create]

    # before_action :configure_sign_in_params, only: [:create]
    around_action :time_zone, only: [:create]
    after_action :locale, only: [:create]

    def user_active?
    if (!params["user"].blank?)
    @user=User.find_by(:email => params["user"]["email"])
    if (!@user.blank?)
    if (!@user.active)
    flash[:error] = I18n.t('devise.failure.inactive')
    elsif (!@user.email_verification_status)
    flash[:error] = I18n.t('signup.verification.not_yet_verified')
    else
    return true
    end
    else
    flash[:error] = I18n.t('login.errors.invalid')
    end
    redirect_to "/signin"
    end
    end

    # GET /resource/sign_in
    def new
    @sign_in = true
    super
    end

    # POST /resource/sign_in
    def create
    super do |_resource|
    end
    end

    end

    class User < ActiveRecord::Base
    extend FriendlyId
    devise :database_authenticatable,
    :recoverable, :trackable, :validatable, :timeoutable

    before_validation :strip_whitespace, :only => [:email]
    default_scope {where(clean_up: false)}
    has_many :store_user_assignments
    has_many :stores, through: :store_user_assignments
    has_and_belongs_to_many :clients, join_table: :clients_users
    has_many :store_user_assignments
    has_many :stores, through: :store_user_assignments
    belongs_to :profile

    # This is required in order to allow integrity constraints to work as expected since email is the primary key and it is case insensitive
    before_save {self.email = email.downcase}
    before_save :update_full_name
    after_create :create_slug

    # friendly_id :slug
    friendly_id :slug, use: :slugged
    end









    share|improve this question
























      up vote
      0
      down vote

      favorite
      1









      up vote
      0
      down vote

      favorite
      1






      1





      In my ruby on rails application that was running in mysql and I have used devise gem for authentication and I am storing sessions in database. Now I need to migrate the same to oracle. I copied the data and tables to Oracle and using Oracle enhanced adapter to connect to Oracle.Application is up and when i sign in i am getting the below error



        ActiveRecord::StatementInvalid (OCIError: ORA-01741: illegal zero-length identifier: DELETE FROM "SESSIONS" WHERE "SESSIONS"."" = :a1):
      stmt.c:82:in oci8lib_230.so
      ruby-oci8 (2.1.8) lib/oci8/cursor.rb:28:in `initialize'
      ruby-oci8 (2.1.8) lib/oci8/oci8.rb:177:in `new'
      ruby-oci8 (2.1.8) lib/oci8/oci8.rb:177:in `parse_internal'
      ruby-oci8 (2.1.8) lib/oci8/oci8.rb:170:in `parse'
      /home/garima/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/delegate.rb:341:in `block in delegating_block'
      activerecord-oracle_enhanced-adapter (1.6.3) lib/active_record/connection_adapters/oracle_enhanced/oci_connection.rb:109:in `prepare'


      I have created sessions table with trigger to add id. I could see values are getting added to session table.



        class SessionsController < Devise::SessionsController
      prepend_before_filter :user_active?, only: [:new, :create]

      # before_action :configure_sign_in_params, only: [:create]
      around_action :time_zone, only: [:create]
      after_action :locale, only: [:create]

      def user_active?
      if (!params["user"].blank?)
      @user=User.find_by(:email => params["user"]["email"])
      if (!@user.blank?)
      if (!@user.active)
      flash[:error] = I18n.t('devise.failure.inactive')
      elsif (!@user.email_verification_status)
      flash[:error] = I18n.t('signup.verification.not_yet_verified')
      else
      return true
      end
      else
      flash[:error] = I18n.t('login.errors.invalid')
      end
      redirect_to "/signin"
      end
      end

      # GET /resource/sign_in
      def new
      @sign_in = true
      super
      end

      # POST /resource/sign_in
      def create
      super do |_resource|
      end
      end

      end

      class User < ActiveRecord::Base
      extend FriendlyId
      devise :database_authenticatable,
      :recoverable, :trackable, :validatable, :timeoutable

      before_validation :strip_whitespace, :only => [:email]
      default_scope {where(clean_up: false)}
      has_many :store_user_assignments
      has_many :stores, through: :store_user_assignments
      has_and_belongs_to_many :clients, join_table: :clients_users
      has_many :store_user_assignments
      has_many :stores, through: :store_user_assignments
      belongs_to :profile

      # This is required in order to allow integrity constraints to work as expected since email is the primary key and it is case insensitive
      before_save {self.email = email.downcase}
      before_save :update_full_name
      after_create :create_slug

      # friendly_id :slug
      friendly_id :slug, use: :slugged
      end









      share|improve this question













      In my ruby on rails application that was running in mysql and I have used devise gem for authentication and I am storing sessions in database. Now I need to migrate the same to oracle. I copied the data and tables to Oracle and using Oracle enhanced adapter to connect to Oracle.Application is up and when i sign in i am getting the below error



        ActiveRecord::StatementInvalid (OCIError: ORA-01741: illegal zero-length identifier: DELETE FROM "SESSIONS" WHERE "SESSIONS"."" = :a1):
      stmt.c:82:in oci8lib_230.so
      ruby-oci8 (2.1.8) lib/oci8/cursor.rb:28:in `initialize'
      ruby-oci8 (2.1.8) lib/oci8/oci8.rb:177:in `new'
      ruby-oci8 (2.1.8) lib/oci8/oci8.rb:177:in `parse_internal'
      ruby-oci8 (2.1.8) lib/oci8/oci8.rb:170:in `parse'
      /home/garima/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/delegate.rb:341:in `block in delegating_block'
      activerecord-oracle_enhanced-adapter (1.6.3) lib/active_record/connection_adapters/oracle_enhanced/oci_connection.rb:109:in `prepare'


      I have created sessions table with trigger to add id. I could see values are getting added to session table.



        class SessionsController < Devise::SessionsController
      prepend_before_filter :user_active?, only: [:new, :create]

      # before_action :configure_sign_in_params, only: [:create]
      around_action :time_zone, only: [:create]
      after_action :locale, only: [:create]

      def user_active?
      if (!params["user"].blank?)
      @user=User.find_by(:email => params["user"]["email"])
      if (!@user.blank?)
      if (!@user.active)
      flash[:error] = I18n.t('devise.failure.inactive')
      elsif (!@user.email_verification_status)
      flash[:error] = I18n.t('signup.verification.not_yet_verified')
      else
      return true
      end
      else
      flash[:error] = I18n.t('login.errors.invalid')
      end
      redirect_to "/signin"
      end
      end

      # GET /resource/sign_in
      def new
      @sign_in = true
      super
      end

      # POST /resource/sign_in
      def create
      super do |_resource|
      end
      end

      end

      class User < ActiveRecord::Base
      extend FriendlyId
      devise :database_authenticatable,
      :recoverable, :trackable, :validatable, :timeoutable

      before_validation :strip_whitespace, :only => [:email]
      default_scope {where(clean_up: false)}
      has_many :store_user_assignments
      has_many :stores, through: :store_user_assignments
      has_and_belongs_to_many :clients, join_table: :clients_users
      has_many :store_user_assignments
      has_many :stores, through: :store_user_assignments
      belongs_to :profile

      # This is required in order to allow integrity constraints to work as expected since email is the primary key and it is case insensitive
      before_save {self.email = email.downcase}
      before_save :update_full_name
      after_create :create_slug

      # friendly_id :slug
      friendly_id :slug, use: :slugged
      end






      ruby-on-rails oracle session devise






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 13 at 13:19









      RubyDev88

      11




      11





























          active

          oldest

          votes











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53281918%2factiverecordstatementinvalid-ocierror-ora-01741-illegal-zero-length-identif%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown






























          active

          oldest

          votes













          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes
















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.





          Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


          Please pay close attention to the following guidance:


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53281918%2factiverecordstatementinvalid-ocierror-ora-01741-illegal-zero-length-identif%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          How to send String Array data to Server using php in android

          Title Spacing in Bjornstrup Chapter, Removing Chapter Number From Contents

          Is anime1.com a legal site for watching anime?