ActiveRecord::StatementInvalid (OCIError: ORA-01741: illegal zero-length identifier: DELETE FROM...
up vote
0
down vote
favorite
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
add a comment |
up vote
0
down vote
favorite
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
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
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
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
ruby-on-rails oracle session devise
asked Nov 13 at 13:19
RubyDev88
11
11
add a comment |
add a comment |
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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