Alvaro wrote:
Well... just like you said:
SELECT COLUMN_NAME, DATA_TYPE, DATA_LENGTH, CHAR_LENGTH, DATA_PRECISION, DATA_SCALE, NULLABLE, DATA_DEFAULT
FROM ALL_TAB_COLUMNS WHERE OWNER='GPIREZ' AND
TABLE_NAME = 'AConfirmedTransaction'
ORDER BY TABLE_NAME ASC, COLUMN_ID ASC
One of the troublesome columns:
COLUMN_NAME = MerchantName
DATA_TYPE = NCHAR
DATA_LENGTH = 50
CHAR_LENGTH = 25
DATA_PRECISION =
DATA_SCALE =
NULLABLE = Y
DATA_DEFAULT =
Correct me if I got this wrong, but since the database is actually 9i and it has the CHAR_LENGTH column, then it's some sort of "if oracle version is 9i" on your schema reading code, which evaluates to false because of the compatibility mode?
No, the code isn't present in the 1.0.2004.2 driver code. The check and support code was added in 1.0.2005.1.
Because, errrm, I just re-checked with our DBA and he had got me wrong the first time
SELECT name, value, description FROM v$parameter
WHERE name = 'compatible';
returns 9.2.0.1.0
True, though the 1.0.2004.2 driver doesn't check for this.
I've checked with windiff and the differences between the two drivers is not big, so you could do the following:
- download the SDK
- in the SDK, there's the sourcecode for 1.0.2005.1 drivers. It's best to copy the OracleDBDriver project to a separate folder and open it separately, so no other projects are loaded.
- In the OracleDbDriver project, change the references to the SD.LLBLGen.Pro.DBDriverCore assembly of the 1.0.2004.2 designer. (it's now referencing the 1.0.2005.1 version).
- Open AssemblyInfo.cs, and change 1.0.2005.1 into 1.0.2004.2, and remove the reference at the bottom to the strong key.
Open OracleDBDriver.cs. Remove the aspect addition at line 109, as that's not defined in 1.0.2004.2. (you'll get a compile error).
The code now should compile. This driver also enables XmlType support, if you need that in 1.0.2004.2, you also have to add support code for that to the DQE.
After the code compiled, make a backup copy of the current dll in LLBLGenProInstallationFolder\Drivers\Oracle and replace it with the just compiled dll. Then restart the designer and refresh the catalog.