I have migrated my sql server 2000 database to oracle 10g using workbench and during the migration process workbench has itself mapped the sql datatype with oracle 10g datatype and in this process it has mapped the sql server bit data type with number data type on oracle 10g and due to this case when i access the data in my vc6 application it shows 1 and 0 for the columns where it use to show checkbox and i have stuck seriously as my application uses grid maximum and i cannot proceed unless this is solved.
I would be greatly thank full to you guys if you can give me any solution.
I don't know about SQL Server, but - for checkbox purposes - Oracle can use, for example, a NUMBER datatype column (with two different values, not necessarily 0 and 1, but those perhaps make most sense) or a CHARACTER column ('Y' and 'N' as most used examples).
In Oracle Forms Developer, a developer then chooses to display such a column as a checkbox instead of 0 and 1.
Now, I have no idea how vc6 works, but - to me - it doesn't seem to be Oracle-specific problem. Oracle has its datatypes and you can't change that. As far as I can tell, there's no bit data type in Oracle.
There is a document which explains which SQL Server datatype is mapped into which Oracle datatype. It says:
BIT: A Boolean 0 or 1 stored as one bit of a byte. Up to 8-bit columns from a table may be stored in a single byte, even if not contiguous. Bit data cannot be NULL, except for Microsoft SQL Server 7.0, where null is allowed by the BIT data type.
-> is mapped into a
NUMBER(1): In Oracle, a bit is stored in a number(1) (or char). In Oracle, it is possible to store bits in a char or varchar field (packed) and supply PL/SQL functions to set / unset / retrieve / query on them.
Check the whole Oracle Migration Workbench Reference Guide for Microsoft SQL Server and Sybase Adaptive Server Migrations (Release 9.2.0 for Microsoft Windows 98/2000 and Microsoft Windows NT / Part Number A97248-01).
I would go along with what Littlefoot said, seems to be an application issue. Check what your application is expecting as the value to determine of it is to show a checkbox. The other possibility is it also checks the datatype of the returned value. In either case it would probably be an application change.