[Dbix-class] Re: DBIx::Class with ODBC

Peter Rabbitson rabbit+dbic at rabbit.us
Fri Jan 25 14:18:40 GMT 2013


On Fri, Jan 25, 2013 at 06:05:44AM -0800, stephenmoy wrote:
> >>  When you connect to a DSN we do not yet know how to
> >>  support you should see something similar to this: [1]. However you
> >>  claimed you saw this exception [2]. 
> 
> In my test, the following line:
> my ( $student ) = $schema->resultset( 'Student' )->search( { uid => $uid }
> );
> 
> produces the "DBIx::Class::ResultSet::search(): DBI Exception: DBD::ODBC::db
> get_info failed: [Ingres][Ingres ODBC Driver]Information type out of range
> (SQL-HY096)" error.

Right, and I was asking if you can debug *which* part of the code throws this
exception - you should have seen the other output first, but apparently
something is broken somewhere. Even just running the above under DBIC_TRACE=1
should help (this will turn on full stacktracing).

> 
> Hopefully these help:  these are the available values I get with those keys
> plugged into get_info:
> SQL_CURSOR_COMMIT_BEHAVIOR = 1
> SQL_CURSOR_ROLLBACK_BEHAVIOR = 1
> SQL_DATA_SOURCE_NAME = db-d1
> SQL_DBMS_NAME = INGRES
> SQL_DBMS_VER = 10.10.0000
> SQL_DEFAULT_TXN_ISOLATION = 8
> SQL_DRIVER_NAME = iiodbcdriver.1.so
> SQL_DRIVER_ODBC_VER = 03.50
> SQL_DRIVER_VER = 03.50.1000.0131
> SQL_EXPRESSIONS_IN_ORDERBY = Y
> SQL_GROUP_BY = 2
> SQL_IDENTIFIER_CASE = 2
> SQL_IDENTIFIER_QUOTE_CHAR = "
> SQL_MAX_COLUMN_NAME_LEN = 256
> SQL_MAX_IDENTIFIER_LEN = 32
> SQL_MAX_TABLE_NAME_LEN = 256
> SQL_MULTIPLE_ACTIVE_TXN = Y
> SQL_MULT_RESULT_SETS = N
> SQL_NEED_LONG_DATA_LEN = Y
> SQL_NON_NULLABLE_COLUMNS = 1
> SQL_ODBC_VER = 03.50.0000
> SQL_QUOTED_IDENTIFIER_CASE = 2
> SQL_TXN_CAPABLE = 2
> SQL_TXN_ISOLATION_OPTION = 15

Yep they do. In addition - what limit dialect does Ingress support? Is 
it any of the already implemented ones [1] ? Note - we need limit *and* 
offset support, limit alone won't cut it.

> >> I thought you were asking about Ingres... ?
> Sorry I misunderstood--when you mentioned "extra informix driver," I thought
> that was a viable workaround/solution.  It is an Ingres database we're
> trying to connect to.

Right, I meant to say Ingres. Sorry for being retarded ;)

Cheers

[1] https://metacpan.org/module/DBIx::Class::SQLMaker::LimitDialects#SQL-LIMIT-DIALECTS



More information about the DBIx-Class mailing list