Hi, I'm trying to make delphi 6.0 talk to oracle. I'm using dbexpress to make a connection, then I'm using a SQLTable, a DataSetProvider and a ClientDataSet.
Everything appears to be working fine, but when I call the DataSet.ApplyUpdates, I get the error: "ORA-01722 - Invalid number type" ... does anyone knows what is the problem?? Or what I'm doin wrong???
Thanks a lot, Hodgskin.
ps.: I have only one numeric field on my table and is a integer declared as "number(8)" ...
In a fully normalised database design, relationships between entities are modelled using primary and foreign keys. Where the relationship has a low cardinality and the tables are frequently joined, it is common to denormalise to some extent to reduce the number of lookups required.
Using a single column to hold multiple attributes is another matter. Relationships cannot properly be modelled in this way. To retrieve related data requires that relationships be built into the application logic and doing so defies the driving principle behind the relational model
There is a bigger drawback. It also introduces a dependency between columns and requires that predicates be applied in a predetermined order. Neither relational database theory or the SQL standard define the order in which predicates are applied.
By default Oracle does not guarantee the order in which predicates are evaluated. Oracle also tries to handle column conparisons between differently typed columns as best it can. The rules for this are in the SQL Language manual. This means that if you have designed your application so that it is possible to compare columns of different types and you do not enforce type conversion, it is possible to get errors such as this.