2 // System.Data.Oracle.OracleConvert
\r
5 // Konstantin Triger <kostat@mainsoft.com>
\r
7 // (C) 2005 Mainsoft Corporation (http://www.mainsoft.com)
\r
11 // Permission is hereby granted, free of charge, to any person obtaining
\r
12 // a copy of this software and associated documentation files (the
\r
13 // "Software"), to deal in the Software without restriction, including
\r
14 // without limitation the rights to use, copy, modify, merge, publish,
\r
15 // distribute, sublicense, and/or sell copies of the Software, and to
\r
16 // permit persons to whom the Software is furnished to do so, subject to
\r
17 // the following conditions:
\r
19 // The above copyright notice and this permission notice shall be
\r
20 // included in all copies or substantial portions of the Software.
\r
22 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
\r
23 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
\r
24 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
\r
25 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
\r
26 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
\r
27 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
\r
28 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
\r
33 using System.Collections;
\r
34 using System.Data.Common;
\r
35 using System.Data.ProviderBase;
\r
39 namespace System.Data.OracleClient {
\r
40 #region oracle.sql.Types constants
\r
42 internal enum JavaSqlTypes {
\r
58 JAVA_OBJECT = 2000,
\r
74 //ORACLE types, see oracle.jdbc.OracleTypes
\r
76 BINARY_DOUBLE = 101,
\r
81 TIMESTAMPLTZ = -102,
\r
87 sealed class OracleConvert : DbConvert {
\r
89 #region .Net types constants
\r
91 internal static readonly Type TypeOfBoolean = typeof(Boolean);
\r
92 internal static readonly Type TypeOfSByte = typeof(SByte);
\r
93 internal static readonly Type TypeOfChar = typeof(Char);
\r
94 internal static readonly Type TypeOfInt16 = typeof(Int16);
\r
95 internal static readonly Type TypeOfInt32 = typeof(Int32);
\r
96 internal static readonly Type TypeOfInt64 = typeof(Int64);
\r
97 internal static readonly Type TypeOfByte = typeof(Byte);
\r
98 internal static readonly Type TypeOfUInt16 = typeof(UInt16);
\r
99 internal static readonly Type TypeOfUInt32 = typeof(UInt32);
\r
100 internal static readonly Type TypeOfUInt64 = typeof(UInt64);
\r
101 internal static readonly Type TypeOfDouble = typeof(Double);
\r
102 internal static readonly Type TypeOfSingle = typeof(Single);
\r
103 internal static readonly Type TypeOfDecimal = typeof(Decimal);
\r
104 internal static readonly Type TypeOfString = typeof(String);
\r
105 internal static readonly Type TypeOfDateTime = typeof(DateTime);
\r
106 internal static readonly Type TypeOfObject = typeof(object);
\r
107 internal static readonly Type TypeOfGuid = typeof(Guid);
\r
108 internal static readonly Type TypeOfType = typeof(Type);
\r
110 // additional types
\r
111 internal static readonly Type TypeOfByteArray = typeof(Byte[]);
\r
112 internal static readonly Type TypeOfCharArray = typeof(Char[]);
\r
113 internal static readonly Type TypeOfFloat = typeof (float);
\r
114 internal static readonly Type TypeOfTimespan = typeof (TimeSpan);
\r
115 static readonly Type TypeOfIDataReader = typeof(IDataReader);
\r
121 internal static String JdbcTypeNameToDbTypeName(string jdbcTypeName) {
\r
122 return jdbcTypeName.Trim();;
\r
125 internal static OracleType JdbcTypeToOracleType(int jdbcType) {
\r
126 switch ((JavaSqlTypes)jdbcType) {
\r
127 case JavaSqlTypes.ARRAY: return OracleType.Blob;
\r
128 case JavaSqlTypes.BIGINT: return OracleType.Number;
\r
129 case JavaSqlTypes.BINARY: return OracleType.Blob;
\r
130 case JavaSqlTypes.BIT: return OracleType.Byte;
\r
131 case JavaSqlTypes.BLOB: return OracleType.Blob;
\r
132 case JavaSqlTypes.BOOLEAN: return OracleType.Byte;
\r
133 case JavaSqlTypes.CHAR: return OracleType.Char;
\r
134 case JavaSqlTypes.CLOB: return OracleType.Clob;
\r
135 // case JavaSqlTypes.DATALINK: return OracleType.IUnknown;
\r
136 case JavaSqlTypes.DATE: return OracleType.DateTime;
\r
137 case JavaSqlTypes.DECIMAL: return OracleType.Number;
\r
138 // case JavaSqlTypes.DISTINCT: return OracleType.IUnknown;
\r
139 case JavaSqlTypes.DOUBLE: return OracleType.Double;
\r
140 case JavaSqlTypes.FLOAT: return OracleType.Float;
\r
141 case JavaSqlTypes.INTEGER: return OracleType.Int32;
\r
142 // case JavaSqlTypes.JAVA_OBJECT: return OracleType.IUnknown;
\r
143 case JavaSqlTypes.LONGVARBINARY: return OracleType.LongRaw;
\r
144 case JavaSqlTypes.LONGVARCHAR: return OracleType.LongVarChar;
\r
145 // case JavaSqlTypes.NULL: return OracleType.Empty;
\r
146 case JavaSqlTypes.NUMERIC: return OracleType.Number;
\r
147 // case JavaSqlTypes.OTHER: return OracleType.IUnknown;
\r
148 // case JavaSqlTypes.REAL: return OracleType.Single;
\r
149 // case JavaSqlTypes.REF: return OracleType.IUnknown;
\r
150 case JavaSqlTypes.SMALLINT: return OracleType.Int16;
\r
151 // case JavaSqlTypes.STRUCT: return OracleType.IUnknown;
\r
152 case JavaSqlTypes.TIME: return OracleType.TimestampLocal;
\r
153 case JavaSqlTypes.TIMESTAMP: return OracleType.Timestamp;
\r
154 case JavaSqlTypes.TINYINT: return OracleType.Byte;
\r
155 case JavaSqlTypes.VARBINARY: return OracleType.LongVarChar;
\r
157 case JavaSqlTypes.VARCHAR: return OracleType.VarChar;
\r
159 case JavaSqlTypes.BINARY_FLOAT: return OracleType.Float;
\r
160 case JavaSqlTypes.BINARY_DOUBLE: return OracleType.Double;
\r
161 case JavaSqlTypes.ROWID: return OracleType.RowId;
\r
162 case JavaSqlTypes.CURSOR: return OracleType.Cursor;
\r
163 case JavaSqlTypes.TIMESTAMPNS: return OracleType.Timestamp;
\r
164 case JavaSqlTypes.TIMESTAMPTZ: return OracleType.TimestampWithTZ;
\r
165 case JavaSqlTypes.TIMESTAMPLTZ: return OracleType.TimestampLocal;
\r
166 case JavaSqlTypes.INTERVALYM: return OracleType.IntervalYearToMonth;
\r
167 case JavaSqlTypes.INTERVALDS: return OracleType.IntervalDayToSecond;
\r
171 internal static OracleType ValueTypeToOracleType(Type type) {
\r
172 switch (Type.GetTypeCode(type)) {
\r
173 case TypeCode.Boolean: return OracleType.Byte;
\r
174 case TypeCode.Byte: return OracleType.Byte;
\r
175 case TypeCode.Char: return OracleType.Char;
\r
176 case TypeCode.DateTime: return OracleType.DateTime;
\r
177 // case TypeCode.DBNull: return OracleType.Empty;
\r
178 case TypeCode.Decimal: return OracleType.Number;
\r
179 case TypeCode.Double: return OracleType.Double;
\r
180 // case TypeCode.Empty: return OracleType.Empty;
\r
181 case TypeCode.Int16: return OracleType.Int16;
\r
182 case TypeCode.Int32: return OracleType.Int32;
\r
183 case TypeCode.Int64: return OracleType.Number;
\r
185 case TypeCode.Object: {
\r
186 if (type.Equals(TypeOfByteArray)) return OracleType.Blob;
\r
187 if (type.Equals(TypeOfTimespan)) return OracleType.Timestamp;
\r
188 if (type.IsSubclassOf(TypeOfIDataReader)) return OracleType.Cursor;
\r
189 // if (type.Equals(DbTypes.TypeOfGuid)) return OracleType.Guid;
\r
192 return ValueTypeToOracleType (Enum.GetUnderlyingType (type));
\r
194 return OracleType.VarChar;
\r
196 case TypeCode.SByte: return OracleType.SByte;
\r
197 case TypeCode.Single: return OracleType.Float;
\r
198 case TypeCode.String: return OracleType.VarChar;
\r
199 case TypeCode.UInt16: return OracleType.UInt16;
\r
200 case TypeCode.UInt32: return OracleType.UInt32;
\r
201 case TypeCode.UInt64: return OracleType.Number;
\r
205 internal static Type OracleTypeToValueType(OracleType oleDbType) {
\r
206 switch (oleDbType) {
\r
207 // case OracleType.BigInt : return DbTypes.TypeOfInt64;// typeof(long);
\r
208 // case OracleType.Binary : return DbTypes.TypeOfByteArray;
\r
209 // case OracleType.Boolean : return DbTypes.TypeOfBoolean;
\r
210 // case OracleType.BSTR : return DbTypes.TypeOfString;
\r
211 case OracleType.BFile : return TypeOfByteArray;
\r
212 case OracleType.Blob : return TypeOfByteArray;
\r
213 case OracleType.Byte : return TypeOfByte;
\r
214 case OracleType.Char : return TypeOfString;
\r
215 case OracleType.Clob : return TypeOfCharArray;
\r
216 case OracleType.Cursor : return TypeOfIDataReader;
\r
217 case OracleType.DateTime : return TypeOfDateTime;
\r
218 // case OracleType.Currency : return TypeOfDecimal;
\r
219 // case OracleType.Date : return TypeOfDateTime;
\r
220 // case OracleType.DBDate : return TypeOfDateTime;
\r
221 // case OracleType.DBTime : return TypeOfTimespan;
\r
222 // case OracleType.DBTimeStamp : return TypeOfDateTime;
\r
223 // case OracleType.Decimal : return TypeOfDecimal;
\r
224 case OracleType.Double : return TypeOfDouble;
\r
225 case OracleType.Float : return TypeOfFloat;
\r
226 case OracleType.Int16 : return TypeOfInt16;
\r
227 case OracleType.Int32 : return TypeOfInt32;
\r
228 case OracleType.IntervalDayToSecond : return TypeOfTimespan;
\r
229 case OracleType.IntervalYearToMonth : return TypeOfInt32;
\r
230 case OracleType.LongRaw : return TypeOfByteArray;
\r
231 // case OracleType.Empty : return null; //typeof(DBNull);
\r
232 // case OracleType.Error : return typeof(Exception);
\r
233 // case OracleType.Filetime : return TypeOfDateTime;
\r
234 // case OracleType.Guid : return TypeOfGuid;
\r
235 // case OracleType.IDispatch : return TypeOfObject;
\r
236 // case OracleType.Integer : return TypeOfInt32;
\r
237 // case OracleType.IUnknown : return TypeOfObject;
\r
238 // case OracleType.LongVarBinary : return TypeOfByteArray;
\r
239 case OracleType.LongVarChar : return TypeOfString;
\r
240 case OracleType.NChar : return TypeOfString;
\r
241 case OracleType.NClob : return TypeOfString;
\r
242 case OracleType.Number : return TypeOfDecimal;
\r
243 case OracleType.NVarChar : return TypeOfString;
\r
244 case OracleType.Raw : return TypeOfByteArray;
\r
246 case OracleType.RowId : return TypeOfString;
\r
247 case OracleType.SByte : return TypeOfSByte;
\r
248 case OracleType.Timestamp : return TypeOfTimespan;
\r
249 case OracleType.TimestampLocal : return TypeOfTimespan;
\r
250 case OracleType.TimestampWithTZ : return TypeOfTimespan;
\r
251 case OracleType.UInt16 : return TypeOfUInt16;
\r
253 case OracleType.UInt32 : return TypeOfUInt32;
\r
254 case OracleType.VarChar : return TypeOfString;
\r
255 // case OracleType.LongVarWChar : return TypeOfString;
\r
256 // case OracleType.Numeric : return TypeOfDecimal;
\r
257 // case OracleType.PropVariant : return TypeOfObject;
\r
258 // case OracleType.Single : return TypeOfFloat;
\r
259 // case OracleType.SmallInt : return TypeOfInt16;
\r
260 // case OracleType.TinyInt : return TypeOfSByte;
\r
261 // case OracleType.UnsignedBigInt : return TypeOfUInt64;
\r
262 // case OracleType.UnsignedInt : return TypeOfUInt32;
\r
263 // case OracleType.UnsignedSmallInt : return TypeOfUInt16;
\r
264 // case OracleType.UnsignedTinyInt : return TypeOfByte;
\r
265 // case OracleType.VarBinary : return TypeOfByteArray;
\r
266 // case OracleType.VarChar : return TypeOfString;
\r
267 // case OracleType.Variant : return TypeOfObject;
\r
268 // case OracleType.VarNumeric : return TypeOfDecimal;
\r
269 // case OracleType.VarWChar : return TypeOfString;
\r
270 // case OracleType.WChar : return TypeOfString;
\r
271 default : return TypeOfObject;
\r
275 internal static OracleType DbTypeToOracleType(DbType dbType) {
\r
277 case DbType.AnsiString : return OracleType.VarChar;
\r
278 case DbType.Binary : return OracleType.Blob;
\r
279 case DbType.Byte : return OracleType.Byte;
\r
280 case DbType.Boolean : return OracleType.Byte;
\r
281 case DbType.Currency : return OracleType.Number;
\r
282 case DbType.Date : return OracleType.DateTime;
\r
283 case DbType.DateTime : return OracleType.DateTime;
\r
284 case DbType.Decimal : return OracleType.Number;
\r
285 case DbType.Double : return OracleType.Double;
\r
286 case DbType.Guid : return OracleType.Char;
\r
287 case DbType.Int16 : return OracleType.Int16;
\r
288 case DbType.Int32 : return OracleType.Int32;
\r
289 case DbType.Int64 : return OracleType.Number;
\r
290 case DbType.Object : return OracleType.Cursor;
\r
291 case DbType.SByte : return OracleType.SByte;
\r
292 case DbType.Single : return OracleType.Float;
\r
293 case DbType.String : return OracleType.VarChar;
\r
294 case DbType.Time : return OracleType.Timestamp;
\r
295 case DbType.UInt16 : return OracleType.UInt16;
\r
296 case DbType.UInt32 : return OracleType.UInt32;
\r
297 case DbType.UInt64 : return OracleType.Number;
\r
298 case DbType.VarNumeric : return OracleType.Number;
\r
299 case DbType.AnsiStringFixedLength : return OracleType.NChar;
\r
300 case DbType.StringFixedLength : return OracleType.Char;
\r
301 default : throw ExceptionHelper.InvalidDbType((int)dbType);
\r
305 internal static DbType OracleTypeToDbType(OracleType oleDbType) {
\r
306 switch (oleDbType) {
\r
307 case OracleType.BFile : return DbType.Binary;
\r
308 case OracleType.Blob : return DbType.Binary;
\r
309 case OracleType.Byte : return DbType.Byte;
\r
310 case OracleType.Char : return DbType.StringFixedLength;
\r
311 case OracleType.Clob : return DbType.String;
\r
312 case OracleType.Cursor : return DbType.Object;
\r
313 case OracleType.DateTime : return DbType.DateTime;
\r
314 case OracleType.Double : return DbType.Double;
\r
315 case OracleType.Float : return DbType.Single;
\r
316 case OracleType.Int16 : return DbType.Int16;
\r
317 case OracleType.Int32 : return DbType.Int32;
\r
318 case OracleType.IntervalDayToSecond : return DbType.Time;
\r
319 case OracleType.IntervalYearToMonth : return DbType.Int32;
\r
320 case OracleType.LongRaw : return DbType.Binary;
\r
321 case OracleType.LongVarChar : return DbType.String;
\r
322 case OracleType.NChar : return DbType.AnsiStringFixedLength;
\r
323 case OracleType.NClob : return DbType.AnsiString;
\r
324 case OracleType.Number : return DbType.VarNumeric;
\r
325 case OracleType.NVarChar : return DbType.AnsiString;
\r
326 case OracleType.Raw : return DbType.Binary;
\r
328 case OracleType.RowId : return DbType.AnsiStringFixedLength;
\r
329 case OracleType.SByte : return DbType.SByte;
\r
330 case OracleType.Timestamp : return DbType.Time;
\r
331 case OracleType.TimestampLocal : return DbType.Time;
\r
332 case OracleType.TimestampWithTZ : return DbType.Time;
\r
333 case OracleType.UInt16 : return DbType.UInt16;
\r
335 case OracleType.UInt32 : return DbType.UInt32;
\r
336 case OracleType.VarChar : return DbType.String;
\r
337 // case OracleType.Empty : return DbType.Object;
\r
338 // case OracleType.SmallInt : return DbType.Int16;
\r
339 // case OracleType.Integer : return DbType.Int32;
\r
340 // case OracleType.Single : return DbType.Single;
\r
341 // case OracleType.Double : return DbType.Double;
\r
342 // case OracleType.Currency : return DbType.Currency;
\r
343 // case OracleType.Date : return DbType.DateTime;
\r
344 // case OracleType.BSTR : return DbType.String;
\r
345 // case OracleType.IDispatch : return DbType.Object;
\r
346 // case OracleType.Error : return DbType.Object;
\r
347 // case OracleType.Boolean : return DbType.Boolean;
\r
348 // case OracleType.Variant : return DbType.Object;
\r
349 // case OracleType.IUnknown : return DbType.Object;
\r
350 // case OracleType.Decimal : return DbType.Decimal;
\r
351 // case OracleType.TinyInt : return DbType.SByte;
\r
352 // case OracleType.UnsignedTinyInt : return DbType.Byte;
\r
353 // case OracleType.UnsignedSmallInt : return DbType.UInt16;
\r
354 // case OracleType.UnsignedInt : return DbType.UInt32;
\r
355 // case OracleType.BigInt : return DbType.Int64;
\r
356 // case OracleType.UnsignedBigInt : return DbType.UInt64;
\r
357 // case OracleType.Filetime : return DbType.DateTime;
\r
358 // case OracleType.Guid : return DbType.Guid;
\r
359 // case OracleType.Binary : return DbType.Binary;
\r
360 // case OracleType.Char : return DbType.AnsiStringFixedLength;
\r
361 // case OracleType.WChar : return DbType.StringFixedLength;
\r
362 // case OracleType.Numeric : return DbType.Decimal;
\r
363 // case OracleType.DBDate : return DbType.Date;
\r
364 // case OracleType.DBTime : return DbType.Time;
\r
365 // case OracleType.DBTimeStamp : return DbType.DateTime;
\r
366 // case OracleType.PropVariant : return DbType.Object;
\r
367 // case OracleType.VarNumeric : return DbType.VarNumeric;
\r
368 // case OracleType.VarChar : return DbType.AnsiString;
\r
369 // case OracleType.LongVarChar : return DbType.AnsiString;
\r
370 // case OracleType.VarWChar : return DbType.String;
\r
371 // case OracleType.LongVarWChar : return DbType.String;
\r
372 // case OracleType.VarBinary : return DbType.Binary;
\r
373 // case OracleType.LongVarBinary : return DbType.Binary;
\r
374 default : throw ExceptionHelper.InvalidOleDbType((int)oleDbType);
\r
378 internal static int OracleTypeToJdbcType(OracleType oleDbType) {
\r
379 switch(oleDbType) {
\r
380 case OracleType.BFile : return (int)JavaSqlTypes.BINARY;
\r
381 case OracleType.Blob : return (int)JavaSqlTypes.BINARY;
\r
382 case OracleType.Byte : return (int)JavaSqlTypes.TINYINT;
\r
383 case OracleType.Char : return (int)JavaSqlTypes.CHAR;
\r
384 case OracleType.Clob : return (int)JavaSqlTypes.CLOB;
\r
385 case OracleType.Cursor : return (int)JavaSqlTypes.CURSOR;
\r
386 case OracleType.DateTime : return (int)JavaSqlTypes.TIMESTAMP;
\r
387 case OracleType.Double : return (int)JavaSqlTypes.DOUBLE;
\r
388 case OracleType.Float : return (int)JavaSqlTypes.FLOAT;
\r
389 case OracleType.Int16 : return (int)JavaSqlTypes.SMALLINT;
\r
390 case OracleType.Int32 : return (int)JavaSqlTypes.INTEGER;
\r
391 case OracleType.IntervalDayToSecond : return (int)JavaSqlTypes.INTERVALDS;
\r
392 case OracleType.IntervalYearToMonth : return (int)JavaSqlTypes.INTERVALYM;
\r
393 case OracleType.LongRaw : return (int)JavaSqlTypes.LONGVARBINARY;
\r
394 case OracleType.LongVarChar : return (int)JavaSqlTypes.LONGVARCHAR;
\r
395 case OracleType.NChar : return (int)JavaSqlTypes.CHAR;
\r
396 case OracleType.NClob : return (int)JavaSqlTypes.CLOB;
\r
397 case OracleType.Number : return (int)JavaSqlTypes.NUMERIC;
\r
398 case OracleType.NVarChar : return (int)JavaSqlTypes.VARCHAR;
\r
399 case OracleType.Raw : return (int)JavaSqlTypes.BINARY;
\r
401 case OracleType.RowId : return (int)JavaSqlTypes.VARCHAR;
\r
402 case OracleType.SByte : return (int)JavaSqlTypes.TINYINT;
\r
403 case OracleType.Timestamp : return (int)JavaSqlTypes.TIMESTAMP;
\r
404 case OracleType.TimestampLocal : return (int)JavaSqlTypes.TIMESTAMP;
\r
405 case OracleType.TimestampWithTZ : return (int)JavaSqlTypes.TIMESTAMP;
\r
406 case OracleType.UInt16 : return (int)JavaSqlTypes.SMALLINT;
\r
408 case OracleType.UInt32 : return (int)JavaSqlTypes.INTEGER;
\r
409 case OracleType.VarChar : return (int)JavaSqlTypes.VARCHAR;
\r
410 // case OracleType.BigInt : return Types.BIGINT;
\r
411 // case OracleType.Binary : return Types.BINARY;
\r
412 // case OracleType.Boolean : return Types.BIT;
\r
413 // case OracleType.BSTR : return Types.VARCHAR;
\r
414 // case OracleType.Char : return Types.CHAR;
\r
415 // case OracleType.Currency : return Types.DECIMAL;
\r
416 // case OracleType.Date : return Types.TIMESTAMP;
\r
417 // case OracleType.DBDate : return Types.DATE;
\r
418 // case OracleType.DBTime : return Types.TIME;
\r
419 // case OracleType.DBTimeStamp : return Types.TIMESTAMP;
\r
420 // case OracleType.Decimal : return Types.DECIMAL;
\r
421 // case OracleType.Double : return Types.DOUBLE;
\r
422 // case OracleType.Empty : return Types.NULL;
\r
423 // case OracleType.Error : return Types.OTHER;
\r
424 // case OracleType.Filetime : return Types.TIMESTAMP;
\r
425 // case OracleType.Guid : return Types.CHAR;
\r
426 // case OracleType.IDispatch : return Types.OTHER; //throw new ArgumentException("The " + oleDbType + " OracleType value is not supported.");
\r
427 // case OracleType.Integer : return Types.INTEGER;
\r
428 // case OracleType.IUnknown : return Types.OTHER; //throw new ArgumentException("The " + oleDbType + " OracleType value is not supported.");
\r
429 // case OracleType.LongVarBinary : return Types.LONGVARBINARY;
\r
430 // case OracleType.LongVarChar : return Types.LONGVARCHAR;
\r
431 // case OracleType.LongVarWChar : return Types.LONGVARCHAR;
\r
432 // case OracleType.Numeric : return Types.NUMERIC;
\r
433 // case OracleType.PropVariant : return Types.OTHER;
\r
434 // case OracleType.Single : return Types.FLOAT;
\r
435 // case OracleType.SmallInt : return Types.SMALLINT;
\r
436 // case OracleType.TinyInt : return Types.TINYINT;
\r
437 // case OracleType.UnsignedBigInt : return Types.BIGINT;
\r
438 // case OracleType.UnsignedInt : return Types.INTEGER;
\r
439 // case OracleType.UnsignedSmallInt : return Types.SMALLINT;
\r
440 // case OracleType.UnsignedTinyInt : return Types.TINYINT;
\r
441 // case OracleType.VarBinary : return Types.VARBINARY;
\r
442 // case OracleType.VarChar : return Types.VARCHAR;
\r
443 // case OracleType.Variant : return Types.VARCHAR;
\r
444 // case OracleType.VarNumeric : return Types.DECIMAL;
\r
445 // case OracleType.VarWChar : return Types.VARCHAR;
\r
446 // case OracleType.WChar : return Types.VARCHAR;
\r
447 default : throw ExceptionHelper.InvalidOleDbType((int)oleDbType);
\r
450 #endregion // Methods
\r