View Single Post

   
  #1 (permalink)  
Old 04-16-2008, 02:21 AM
Bernard Henry Voynet
 
Posts: n/a
Default Unexpected ADO properties

Hello
I am working on a project that access databases through ADO
over ODBC and must now include PostgreSQL.

The code of this project needs to know about the fields
caracteristics like whether or not it is:
- a primary key
- an autoincrement key
- nullabble
- updatable
- etc..

For this I use the ADO properties that give theses
informations.

For a Jet database I get (for example):
serialkey
Type = adInteger
DefinedSize = 4
Precision = 10
NumericScale = 255
Status = adRecOK
Attributes = adFldFixed
Properties (9)
BASECATALOGNAME (adVarWChar) = (Null)
BASECOLUMNNAME (adVarWChar) = serialkey
BASESCHEMANAME (adVarWChar) = (Null)
BASETABLENAME (adVarWChar) = genericfields
CALCULATIONINFO (adVarBinary) = (Null)
ISAUTOINCREMENT (adBoolean) = True
KEYCOLUMN (adBoolean) = True
OPTIMIZE (adBoolean) = False
RELATIONCONDITIONS (adVarBinary) = (Null)

However, with PostgreSQL 8.0.3 (psqlodc 08.00.0102), I don't get what is expected.

When I declare le serialkey field as as SERIAL PRIMARY KEY, instead of the expected result, I get:
serialkey
Type = adInteger
DefinedSize = 4
Precision = 10
NumericScale = 255
Status = adRecOK
Attributes = adFldUnknownUpdatable, adFldFixed, adFldIsNullable, adFldMayBeNull
Properties (9)
BASECATALOGNAME (adVarWChar) = (Null)
BASECOLUMNNAME (adVarWChar) = serialkey
BASESCHEMANAME (adVarWChar) = (Null)
BASETABLENAME (adVarWChar) = genericfields
CALCULATIONINFO (adVarBinary) = (Null)
ISAUTOINCREMENT (adBoolean) = False
KEYCOLUMN (adBoolean) = True
OPTIMIZE (adBoolean) = False
RELATIONCONDITIONS (adVarBinary) = (Null)

Where both:
- Attributes
- ISAUTOINCREMENT
Are not correct since serialkey is a non nullable serial key

Would you have any idea on this problem ?
And any help to get the right values ?

Best regards


__________________________________________________ ___________
Obtenez aussi votre adresse electronique gratuite de
Quebecemail.com http://www.quebecemail.com, un service gratuit et permanent.

---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

http://www.postgresql.org/docs/faq

Reply With Quote