Module: Sequel::JDBC::SQLServer::DatabaseMethods::MetadataDatasetMethods
- Defined in:
- lib/sequel/adapters/jdbc/sqlserver.rb
Overview
Work around a bug in SQL Server JDBC Driver 3.0, where the metadata for the getColumns result set specifies an incorrect type for the IS_AUTOINCREMENT column. The column is a string, but the type is specified as a short. This causes getObject() to throw a com.microsoft.sqlserver.jdbc.SQLServerException: “The conversion from char to SMALLINT is unsupported.” Using getString() rather than getObject() for this column avoids the problem. Reference: social.msdn.microsoft.com/Forums/en/sqldataaccess/thread/20df12f3-d1bf-4526-9daa-239a83a8e435
Instance Method Summary collapse
Instance Method Details
#basic_type_convertor(map, meta, type, i) ⇒ Object
67 68 69 70 71 72 73 |
# File 'lib/sequel/adapters/jdbc/sqlserver.rb', line 67 def basic_type_convertor(map, , type, i) if output_identifier(.getColumnLabel(i)) == :is_autoincrement map[Java::JavaSQL::Types::VARCHAR] else super end end |
#type_convertor(map, meta, type, i) ⇒ Object
59 60 61 62 63 64 65 |
# File 'lib/sequel/adapters/jdbc/sqlserver.rb', line 59 def type_convertor(map, , type, i) if output_identifier(.getColumnLabel(i)) == :is_autoincrement map[Java::JavaSQL::Types::VARCHAR] else super end end |