|
|
|
#1 |
|
Messages: n/a
Hébergeur: |
Hi all!
I'm using the Ruby DBI class to create connections to both a MSSQL and an Oracle database to verify the data migration between them is successful. My test works fine on XP, but on Vista (currently with SP1, but my problem has always happened on Vista), I get a segmentation fault when I perform my first select statement on the Oracle database. Select statements are performed against the MSSQL database prior to the Oracle database and work fine. I'm running the test from a command prompt that has administrator privileges. - Here's my Oracle connection: @ora_connect = DBI.connect("DBI:ADO:Provider=OraOLEDB.Oracle;Data Source=devserver;User Id=read_all;Password=password") - Here is my method for running a select statement: def getDBValue(connection, query, id1, *id2) dbi_query = connection.prepare(query) dbi_query.execute(id1, *id2) #fetch the result return dbi_query.fetch end - Here is the first Oracle select statement: createDateTime = getDBValue(@ora_connect, "SELECT CREATED_TIME FROM ORATEST.POLICY WHERE POLICYNUM = ?", policyNumber) - Here is the error message I get: c:/ruby/lib/ruby/site_ruby/1.8/DBD/ADO/ADO.rb:94: [BUG] Segmentation fault ruby 1.8.6 (2007-03-13) [i386-mswin32] Has anyone else seen this? Does anyone have any ideas on workarounds or how to fix it? Thanks in advance for your ! -Tiffany |
|
|
|
#2 |
|
Messages: n/a
Hébergeur: |
On Jun 9, 11:33=A0am, tcfo...@gmail.com wrote: > Hi all! > > I'm using the Ruby DBI class to create connections to both a MSSQL and > an Oracle database to verify the data migration between them is > successful. =A0My test works fine on XP, but on Vista (currently with > SP1, but my problem has always happened on Vista), I get a > segmentation fault when I perform my first select statement on the > Oracle database. =A0Select statements are performed against the MSSQL > database prior to the Oracle database and work fine. =A0I'm running the > test from a command prompt that has administrator privileges. > > - Here's my Oracle connection: > > @ora_connect =3D DBI.connect("DBI:ADO:Provider=3DOraOLEDB.Oracle;Da ta > Source=3Ddevserver;User Id=3Dread_all;Password=3Dpassword") > > - Here is my method for running a select statement: > > def getDBValue(connection, query, id1, *id2) > =A0 =A0 dbi_query =3D connection.prepare(query) > =A0 =A0 dbi_query.execute(id1, *id2) > =A0 =A0 #fetch the result > =A0 =A0 return dbi_query.fetch > end > > - Here is the first Oracle select statement: > > createDateTime =3D getDBValue(@ora_connect, "SELECT CREATED_TIME FROM > ORATEST.POLICY WHERE POLICYNUM =3D ?", policyNumber) > > - Here is the error message I get: > > c:/ruby/lib/ruby/site_ruby/1.8/DBD/ADO/ADO.rb:94: [BUG] Segmentation > fault ruby 1.8.6 (2007-03-13) [i386-mswin32] > > Has anyone else seen this? =A0Does anyone have any ideas on workarounds > or how to fix it? > > Thanks in advance for your ! What version of Ruby and DBI are you using? Line 94 of my ADO.rb file is just a comment. Can you paste that line at least? Thanks, Dan |
|
|
|
#3 |
|
Messages: n/a
Hébergeur: |
On Jun 9, 1:35 pm, Daniel Berger <djber...@gmail.com> wrote:
> On Jun 9, 11:33 am, tcfo...@gmail.com wrote: > > > > > Hi all! > > > I'm using the Ruby DBI class to create connections to both a MSSQL and > > an Oracle database to verify the data migration between them is > > successful. My test works fine on XP, but on Vista (currently with > > SP1, but my problem has always happened on Vista), I get a > > segmentation fault when I perform my first select statement on the > > Oracle database. Select statements are performed against the MSSQL > > database prior to the Oracle database and work fine. I'm running the > > test from a command prompt that has administrator privileges. > > > - Here's my Oracle connection: > > > @ora_connect = DBI.connect("DBI:ADO:Provider=OraOLEDB.Oracle;Data > > Source=devserver;User Id=read_all;Password=password") > > > - Here is my method for running a select statement: > > > def getDBValue(connection, query, id1, *id2) > > dbi_query = connection.prepare(query) > > dbi_query.execute(id1, *id2) > > #fetch the result > > return dbi_query.fetch > > end > > > - Here is the first Oracle select statement: > > > createDateTime = getDBValue(@ora_connect, "SELECT CREATED_TIME FROM > > ORATEST.POLICY WHERE POLICYNUM = ?", policyNumber) > > > - Here is the error message I get: > > > c:/ruby/lib/ruby/site_ruby/1.8/DBD/ADO/ADO.rb:94: [BUG] Segmentation > > fault ruby 1.8.6 (2007-03-13) [i386-mswin32] > > > Has anyone else seen this? Does anyone have any ideas on workarounds > > or how to fix it? > > > Thanks in advance for your ! > > What version of Ruby and DBI are you using? Line 94 of my ADO.rb file > is just a comment. Can you paste that line at least? > > Thanks, > > Dan Sorry about that - I'm using Ruby version 1.8.6 and DBI version 0.1.1 Here's the code around line 94: 90 def execute 91 # TODO: use Command and Parameter 92 # TODO: substitute all ? by the parametes 93 sql = bind(self, @statement, @params) 94 @res_handle = @handle.Execute(sql) 95 96 # TODO: SELECT and AutoCommit finishes the result-set 97 # what to do? 98 if @db['AutoCommit'] == true and not SQL.query?(@statement) then 99 @db.commit 100 end 101 rescue RuntimeError => err 102 raise DBI: atabaseError.new(err.message)103 end Thanks for taking at look at this! -Tiffany |
|
![]() |
| Outils de la discussion | |
|
|