problem odbc 8.0 with EOModeler

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
8 messages Options
YL
Reply | Threaded
Open this post in threaded view
|

problem odbc 8.0 with EOModeler

YL
I've used EOModeler with odbc for MS SQL Server,
MySQL and MS Access with no problem. But got
problem with postgre odbc driver. (the newest one) 
 
EOMOdeler cannot get postgresql column types' info
through odbc. Also, It cannot interact with EOModeler
for very simple query:
 
SQLExecDirectin - [ODBCChannel evaluateExpression:
(<ODBCSQLExpression: "SELECT t0.pname,t0.person_id
FROM person t0 WHERE t0.pname = ? " withBindings:
(1:Elim(name)) >)]
S 1000-7: ERROR: column 'elim' doesnot exitst
 
EOModeler is an app in WebObjects (www.apple.com)
I'm using version 4.5.1 ObjC. EOModeler has adaptors
for Oracle, Infomix, Sybase, Openbase. All works very
well.
 
My guess is that postgresql-odbc has some non-standard
api and so EOModeler fails to work with it.
 
 
 
 
 
 
Reply | Threaded
Open this post in threaded view
|

Re: problem odbc 8.0 with EOModeler

Kevin Grittner
Is the column name "Elim" or "elim"?  If the former, try putting quotes around it, as required by the ANSI and ISO standards for mixed case identifiers.  Some database products fail to comply with the standards in this respect.  PostgreSQL comes close, although it treats unquoted identifers as all lower case rather than all upper case as required by the standards.
 
-Kevin
 
 
>>> "YL" <[hidden email]> 07/30/05 3:48 PM >>>
I've used EOModeler with odbc for MS SQL Server,
MySQL and MS Access with no problem. But got
problem with postgre odbc driver. (the newest one)

EOMOdeler cannot get postgresql column types' info
through odbc. Also, It cannot interact with EOModeler
for very simple query:

SQLExecDirectin - [ODBCChannel evaluateExpression:
(<ODBCSQLExpression: "SELECT t0.pname,t0.person_id
FROM person t0 WHERE t0.pname = ? " withBindings:
(1:Elim(name)) >)]
S 1000-7: ERROR: column 'elim' doesnot exitst

EOModeler is an app in WebObjects (www.apple.com)
I'm using version 4.5.1 ObjC. EOModeler has adaptors
for Oracle, Infomix, Sybase, Openbase. All works very
well.

My guess is that postgresql-odbc has some non-standard
api and so EOModeler fails to work with it.


---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend
YL
Reply | Threaded
Open this post in threaded view
|

Re: problem odbc 8.0 with EOModeler

YL
In reply to this post by YL
Thanks Eric and Kevin for the responses to my post.

My Testing table was
Person (person_id int not null, name varchar(32))
and my query typed in EOModeler is
  name = 'Elim'

EOModeler has an interface letting you specify connection method.
There are adaptors (oracle, informix, sybase...) and odbc data source
the choose from.

My headache is that for the same setting and table in difference
database server and odbc datasource, i have no problem with the
query except when i switch the data source to postgresql odbc.

It has two things not normal to me: [unlike other database and odbc,
postgresql-odbc reveals no database column type list to EOModeler
which i believe a missing of some api standard to other odbc
implementations.
For example, mysql odbc lets EOModeler show the available column
types such as int, mediumint, tinyint, char, varchar, text ....So that
one can specify column types when model an entity (table)] and the error
msg (from EOModeler)

SQLExecDirect in -[ODBCChannel evaluateExpression:(<ODBCSQLExpression:
"SELECT  t0."pname", t0."person_id" FROM "person" t0  WHERE t0."pname" = ?"
withBindings:(1:Elim(pname))>)]
S1000-7: ERROR:  column "elim" does not exist
(sorry I took the quotes around the column name 'pname' in my previous post)

Means that somehow my matching value 'Elim' been interpreted as column
name!!!
since the same query works perfect with other kind of odbc data sources, i
guess
this really indicate that EOModeler and postgresql-odbc can not communicate
correctly. in other words, postgresql-odbc has special API's that not make
sense to
EOModeler.



----- Original Message -----
From: "Kevin Grittner" <[hidden email]>
To: <[hidden email]>; <[hidden email]>
Sent: Monday, August 01, 2005 8:25 AM
Subject: Re: [BUGS] problem odbc 8.0 with EOModeler


Is the column name "Elim" or "elim"?  If the former, try putting quotes
around it, as required by the ANSI and ISO standards for mixed case
identifiers.  Some database products fail to comply with the standards in
this respect.  PostgreSQL comes close, although it treats unquoted
identifers as all lower case rather than all upper case as required by the
standards.

-Kevin


>>> "YL" <[hidden email]> 07/30/05 3:48 PM >>>
I've used EOModeler with odbc for MS SQL Server,
MySQL and MS Access with no problem. But got
problem with postgre odbc driver. (the newest one)

EOMOdeler cannot get postgresql column types' info
through odbc. Also, It cannot interact with EOModeler
for very simple query:

SQLExecDirectin - [ODBCChannel evaluateExpression:
(<ODBCSQLExpression: "SELECT t0.pname,t0.person_id
FROM person t0 WHERE t0.pname = ? " withBindings:
(1:Elim(name)) >)]
S 1000-7: ERROR: column 'elim' doesnot exitst

EOModeler is an app in WebObjects (www.apple.com)
I'm using version 4.5.1 ObjC. EOModeler has adaptors
for Oracle, Infomix, Sybase, Openbase. All works very
well.

My guess is that postgresql-odbc has some non-standard
api and so EOModeler fails to work with it.




--

Checked by AVG Anti-Virus.
Version: 7.0.338 / Virus Database: 267.9.7/60 - Release Date: 7/28/2005



---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings
Reply | Threaded
Open this post in threaded view
|

Re: problem odbc 8.0 with EOModeler

Kevin Grittner
In reply to this post by YL
It looks like this is being treated on the server as though the statement is:
 
SELECT  t0."pname", t0."person_id"
 FROM "person" t0  WHERE t0."pname" = Elim
 
rather than:
 
SELECT  t0."pname", t0."person_id"
 FROM "person" t0  WHERE t0."pname" = 'Elim'
 
 
>>> "YL" <[hidden email]> 08/01/05 1:07 PM >>>
Thanks Eric and Kevin for the responses to my post.

My Testing table was
Person (person_id int not null, name varchar(32))
and my query typed in EOModeler is
  name = 'Elim'

EOModeler has an interface letting you specify connection method.
There are adaptors (oracle, informix, sybase...) and odbc data source
the choose from.

My headache is that for the same setting and table in difference
database server and odbc datasource, i have no problem with the
query except when i switch the data source to postgresql odbc.

It has two things not normal to me: [unlike other database and odbc,
postgresql-odbc reveals no database column type list to EOModeler
which i believe a missing of some api standard to other odbc
implementations.
For example, mysql odbc lets EOModeler show the available column
types such as int, mediumint, tinyint, char, varchar, text ....So that
one can specify column types when model an entity (table)] and the error
msg (from EOModeler)

SQLExecDirect in -[ODBCChannel evaluateExpression:(<ODBCSQLExpression:
"SELECT  t0."pname", t0."person_id" FROM "person" t0  WHERE t0."pname" = ?"
withBindings:(1:Elim(pname))>)]
S1000-7: ERROR:  column "elim" does not exist
(sorry I took the quotes around the column name 'pname' in my previous post)

Means that somehow my matching value 'Elim' been interpreted as column
name!!!
since the same query works perfect with other kind of odbc data sources, i
guess
this really indicate that EOModeler and postgresql-odbc can not communicate
correctly. in other words, postgresql-odbc has special API's that not make
sense to
EOModeler.



----- Original Message -----
From: "Kevin Grittner" <[hidden email]>
To: <[hidden email]>; <[hidden email]>
Sent: Monday, August 01, 2005 8:25 AM
Subject: Re: [BUGS] problem odbc 8.0 with EOModeler


Is the column name "Elim" or "elim"?  If the former, try putting quotes
around it, as required by the ANSI and ISO standards for mixed case
identifiers.  Some database products fail to comply with the standards in
this respect.  PostgreSQL comes close, although it treats unquoted
identifers as all lower case rather than all upper case as required by the
standards.

-Kevin


>>> "YL" <[hidden email]> 07/30/05 3:48 PM >>>
I've used EOModeler with odbc for MS SQL Server,
MySQL and MS Access with no problem. But got
problem with postgre odbc driver. (the newest one)

EOMOdeler cannot get postgresql column types' info
through odbc. Also, It cannot interact with EOModeler
for very simple query:

SQLExecDirectin - [ODBCChannel evaluateExpression:
(<ODBCSQLExpression: "SELECT t0.pname,t0.person_id
FROM person t0 WHERE t0.pname = ? " withBindings:
(1:Elim(name)) >)]
S 1000-7: ERROR: column 'elim' doesnot exitst

EOModeler is an app in WebObjects (www.apple.com)
I'm using version 4.5.1 ObjC. EOModeler has adaptors
for Oracle, Infomix, Sybase, Openbase. All works very
well.

My guess is that postgresql-odbc has some non-standard
api and so EOModeler fails to work with it.




--

Checked by AVG Anti-Virus.
Version: 7.0.338 / Virus Database: 267.9.7/60 - Release Date: 7/28/2005



---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings


---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings
YL
Reply | Threaded
Open this post in threaded view
|

Re: problem odbc 8.0 with EOModeler

YL
In reply to this post by YL
Hi Kevin, you're right. When i type
pname = '\'Elim\''
in the EOModeler, it works (fetches the right match).
i can even do
pname like '\'Eli*\''
with the right results.
But what this mean in odbc level? (i don't need to add additional quotes for
other odbc data sources)

When query against numerical columns, things works quite well

----- Original Message -----
From: "Kevin Grittner" <[hidden email]>
To: <[hidden email]>; <[hidden email]>;
<[hidden email]>
Sent: Monday, August 01, 2005 12:31 PM
Subject: Re: [BUGS] problem odbc 8.0 with EOModeler


It looks like this is being treated on the server as though the statement
is:

SELECT  t0."pname", t0."person_id"
 FROM "person" t0  WHERE t0."pname" = Elim

rather than:

SELECT  t0."pname", t0."person_id"
 FROM "person" t0  WHERE t0."pname" = 'Elim'


>>> "YL" <[hidden email]> 08/01/05 1:07 PM >>>
Thanks Eric and Kevin for the responses to my post.

My Testing table was
Person (person_id int not null, name varchar(32))
and my query typed in EOModeler is
  name = 'Elim'

EOModeler has an interface letting you specify connection method.
There are adaptors (oracle, informix, sybase...) and odbc data source
the choose from.

My headache is that for the same setting and table in difference
database server and odbc datasource, i have no problem with the
query except when i switch the data source to postgresql odbc.

It has two things not normal to me: [unlike other database and odbc,
postgresql-odbc reveals no database column type list to EOModeler
which i believe a missing of some api standard to other odbc
implementations.
For example, mysql odbc lets EOModeler show the available column
types such as int, mediumint, tinyint, char, varchar, text ....So that
one can specify column types when model an entity (table)] and the error
msg (from EOModeler)

SQLExecDirect in -[ODBCChannel evaluateExpression:(<ODBCSQLExpression:
"SELECT  t0."pname", t0."person_id" FROM "person" t0  WHERE t0."pname" = ?"
withBindings:(1:Elim(pname))>)]
S1000-7: ERROR:  column "elim" does not exist
(sorry I took the quotes around the column name 'pname' in my previous post)

Means that somehow my matching value 'Elim' been interpreted as column
name!!!
since the same query works perfect with other kind of odbc data sources, i
guess
this really indicate that EOModeler and postgresql-odbc can not communicate
correctly. in other words, postgresql-odbc has special API's that not make
sense to
EOModeler.



----- Original Message -----
From: "Kevin Grittner" <[hidden email]>
To: <[hidden email]>; <[hidden email]>
Sent: Monday, August 01, 2005 8:25 AM
Subject: Re: [BUGS] problem odbc 8.0 with EOModeler


Is the column name "Elim" or "elim"?  If the former, try putting quotes
around it, as required by the ANSI and ISO standards for mixed case
identifiers.  Some database products fail to comply with the standards in
this respect.  PostgreSQL comes close, although it treats unquoted
identifers as all lower case rather than all upper case as required by the
standards.

-Kevin


>>> "YL" <[hidden email]> 07/30/05 3:48 PM >>>
I've used EOModeler with odbc for MS SQL Server,
MySQL and MS Access with no problem. But got
problem with postgre odbc driver. (the newest one)

EOMOdeler cannot get postgresql column types' info
through odbc. Also, It cannot interact with EOModeler
for very simple query:

SQLExecDirectin - [ODBCChannel evaluateExpression:
(<ODBCSQLExpression: "SELECT t0.pname,t0.person_id
FROM person t0 WHERE t0.pname = ? " withBindings:
(1:Elim(name)) >)]
S 1000-7: ERROR: column 'elim' doesnot exitst

EOModeler is an app in WebObjects (www.apple.com)
I'm using version 4.5.1 ObjC. EOModeler has adaptors
for Oracle, Infomix, Sybase, Openbase. All works very
well.

My guess is that postgresql-odbc has some non-standard
api and so EOModeler fails to work with it.




--

Checked by AVG Anti-Virus.
Version: 7.0.338 / Virus Database: 267.9.7/60 - Release Date: 7/28/2005



---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings




--

Checked by AVG Anti-Virus.
Version: 7.0.338 / Virus Database: 267.9.7/60 - Release Date: 7/28/2005



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

               http://www.postgresql.org/docs/faq
Reply | Threaded
Open this post in threaded view
|

Re: problem odbc 8.0 with EOModeler

Kevin Grittner
In reply to this post by YL
I'm not sure what it means at the ODBC level, since I don't use ODBC.  I was hoping my observations might help you in the right direction anyway.
 
If you need to stay with ODBC, you might try posting to the ODBC mailing list rather than the bugs list -- the problem seems to be in the ODBC driver, and a message on that list might get read by people more familiar with that driver.
 
I see in a posting from Theodore Petrosky that EOModler works with JDBC.  If you can use that instead, you are likely to be better off than with ODBC.
 
-Kevin
 
 
>>> "YL" <[hidden email]> 08/01/05 1:47 PM >>>
Hi Kevin, you're right. When i type
pname = '\'Elim\''
in the EOModeler, it works (fetches the right match).
i can even do
pname like '\'Eli*\''
with the right results.
But what this mean in odbc level? (i don't need to add additional quotes for
other odbc data sources)

When query against numerical columns, things works quite well

----- Original Message -----
From: "Kevin Grittner" <[hidden email]>
To: <[hidden email]>; <[hidden email]>;
<[hidden email]>
Sent: Monday, August 01, 2005 12:31 PM
Subject: Re: [BUGS] problem odbc 8.0 with EOModeler


It looks like this is being treated on the server as though the statement
is:

SELECT  t0."pname", t0."person_id"
 FROM "person" t0  WHERE t0."pname" = Elim

rather than:

SELECT  t0."pname", t0."person_id"
 FROM "person" t0  WHERE t0."pname" = 'Elim'


>>> "YL" <[hidden email]> 08/01/05 1:07 PM >>>
Thanks Eric and Kevin for the responses to my post.

My Testing table was
Person (person_id int not null, name varchar(32))
and my query typed in EOModeler is
  name = 'Elim'

EOModeler has an interface letting you specify connection method.
There are adaptors (oracle, informix, sybase...) and odbc data source
the choose from.

My headache is that for the same setting and table in difference
database server and odbc datasource, i have no problem with the
query except when i switch the data source to postgresql odbc.

It has two things not normal to me: [unlike other database and odbc,
postgresql-odbc reveals no database column type list to EOModeler
which i believe a missing of some api standard to other odbc
implementations.
For example, mysql odbc lets EOModeler show the available column
types such as int, mediumint, tinyint, char, varchar, text ....So that
one can specify column types when model an entity (table)] and the error
msg (from EOModeler)

SQLExecDirect in -[ODBCChannel evaluateExpression:(<ODBCSQLExpression:
"SELECT  t0."pname", t0."person_id" FROM "person" t0  WHERE t0."pname" = ?"
withBindings:(1:Elim(pname))>)]
S1000-7: ERROR:  column "elim" does not exist
(sorry I took the quotes around the column name 'pname' in my previous post)

Means that somehow my matching value 'Elim' been interpreted as column
name!!!
since the same query works perfect with other kind of odbc data sources, i
guess
this really indicate that EOModeler and postgresql-odbc can not communicate
correctly. in other words, postgresql-odbc has special API's that not make
sense to
EOModeler.



----- Original Message -----
From: "Kevin Grittner" <[hidden email]>
To: <[hidden email]>; <[hidden email]>
Sent: Monday, August 01, 2005 8:25 AM
Subject: Re: [BUGS] problem odbc 8.0 with EOModeler


Is the column name "Elim" or "elim"?  If the former, try putting quotes
around it, as required by the ANSI and ISO standards for mixed case
identifiers.  Some database products fail to comply with the standards in
this respect.  PostgreSQL comes close, although it treats unquoted
identifers as all lower case rather than all upper case as required by the
standards.

-Kevin


>>> "YL" <[hidden email]> 07/30/05 3:48 PM >>>
I've used EOModeler with odbc for MS SQL Server,
MySQL and MS Access with no problem. But got
problem with postgre odbc driver. (the newest one)

EOMOdeler cannot get postgresql column types' info
through odbc. Also, It cannot interact with EOModeler
for very simple query:

SQLExecDirectin - [ODBCChannel evaluateExpression:
(<ODBCSQLExpression: "SELECT t0.pname,t0.person_id
FROM person t0 WHERE t0.pname = ? " withBindings:
(1:Elim(name)) >)]
S 1000-7: ERROR: column 'elim' doesnot exitst

EOModeler is an app in WebObjects (www.apple.com)
I'm using version 4.5.1 ObjC. EOModeler has adaptors
for Oracle, Infomix, Sybase, Openbase. All works very
well.

My guess is that postgresql-odbc has some non-standard
api and so EOModeler fails to work with it.




--

Checked by AVG Anti-Virus.
Version: 7.0.338 / Virus Database: 267.9.7/60 - Release Date: 7/28/2005



---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings




--

Checked by AVG Anti-Virus.
Version: 7.0.338 / Virus Database: 267.9.7/60 - Release Date: 7/28/2005



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

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


---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend
Reply | Threaded
Open this post in threaded view
|

Re: [ODBC] problem odbc 8.0 with EOModeler

Eric E
In reply to this post by YL
Hi YL,
    You may also want to check that EOModeler is not quoting strings
with double quotes (") rather than single-quotes (') in ODBC, say by
auditing the same call to MySQL.  And maybe check out which ODBC version
calls EOModeler is calling, and sounds like it could potentially(!) be
using legacy calls to the ODBC driver.  I can't say I know enough about
ODBC to be able to guide you on that, but I believe the pgsql-odbc list
has a number of members who can.

Cheers,

EE

YL wrote:

>Hi Kevin, you're right. When i type
>pname = '\'Elim\''
>in the EOModeler, it works (fetches the right match).
>i can even do
>pname like '\'Eli*\''
>with the right results.
>But what this mean in odbc level? (i don't need to add additional quotes for
>other odbc data sources)
>
>When query against numerical columns, things works quite well
>
>----- Original Message -----
>From: "Kevin Grittner" <[hidden email]>
>To: <[hidden email]>; <[hidden email]>;
><[hidden email]>
>Sent: Monday, August 01, 2005 12:31 PM
>Subject: Re: [BUGS] problem odbc 8.0 with EOModeler
>
>
>It looks like this is being treated on the server as though the statement
>is:
>
>SELECT  t0."pname", t0."person_id"
> FROM "person" t0  WHERE t0."pname" = Elim
>
>rather than:
>
>SELECT  t0."pname", t0."person_id"
> FROM "person" t0  WHERE t0."pname" = 'Elim'
>
>
>  
>
>>>>"YL" <[hidden email]> 08/01/05 1:07 PM >>>
>>>>        
>>>>
>Thanks Eric and Kevin for the responses to my post.
>
>My Testing table was
>Person (person_id int not null, name varchar(32))
>and my query typed in EOModeler is
>  name = 'Elim'
>
>EOModeler has an interface letting you specify connection method.
>There are adaptors (oracle, informix, sybase...) and odbc data source
>the choose from.
>
>My headache is that for the same setting and table in difference
>database server and odbc datasource, i have no problem with the
>query except when i switch the data source to postgresql odbc.
>
>It has two things not normal to me: [unlike other database and odbc,
>postgresql-odbc reveals no database column type list to EOModeler
>which i believe a missing of some api standard to other odbc
>implementations.
>For example, mysql odbc lets EOModeler show the available column
>types such as int, mediumint, tinyint, char, varchar, text ....So that
>one can specify column types when model an entity (table)] and the error
>msg (from EOModeler)
>
>SQLExecDirect in -[ODBCChannel evaluateExpression:(<ODBCSQLExpression:
>"SELECT  t0."pname", t0."person_id" FROM "person" t0  WHERE t0."pname" = ?"
>withBindings:(1:Elim(pname))>)]
>S1000-7: ERROR:  column "elim" does not exist
>(sorry I took the quotes around the column name 'pname' in my previous post)
>
>Means that somehow my matching value 'Elim' been interpreted as column
>name!!!
>since the same query works perfect with other kind of odbc data sources, i
>guess
>this really indicate that EOModeler and postgresql-odbc can not communicate
>correctly. in other words, postgresql-odbc has special API's that not make
>sense to
>EOModeler.
>
>
>
>----- Original Message -----
>From: "Kevin Grittner" <[hidden email]>
>To: <[hidden email]>; <[hidden email]>
>Sent: Monday, August 01, 2005 8:25 AM
>Subject: Re: [BUGS] problem odbc 8.0 with EOModeler
>
>
>Is the column name "Elim" or "elim"?  If the former, try putting quotes
>around it, as required by the ANSI and ISO standards for mixed case
>identifiers.  Some database products fail to comply with the standards in
>this respect.  PostgreSQL comes close, although it treats unquoted
>identifers as all lower case rather than all upper case as required by the
>standards.
>
>-Kevin
>
>
>  
>
>>>>"YL" <[hidden email]> 07/30/05 3:48 PM >>>
>>>>        
>>>>
>I've used EOModeler with odbc for MS SQL Server,
>MySQL and MS Access with no problem. But got
>problem with postgre odbc driver. (the newest one)
>
>EOMOdeler cannot get postgresql column types' info
>through odbc. Also, It cannot interact with EOModeler
>for very simple query:
>
>SQLExecDirectin - [ODBCChannel evaluateExpression:
>(<ODBCSQLExpression: "SELECT t0.pname,t0.person_id
>FROM person t0 WHERE t0.pname = ? " withBindings:
>(1:Elim(name)) >)]
>S 1000-7: ERROR: column 'elim' doesnot exitst
>
>EOModeler is an app in WebObjects (www.apple.com)
>I'm using version 4.5.1 ObjC. EOModeler has adaptors
>for Oracle, Infomix, Sybase, Openbase. All works very
>well.
>
>My guess is that postgresql-odbc has some non-standard
>api and so EOModeler fails to work with it.
>
>
>
>
>  
>




---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
       subscribe-nomail command to [hidden email] so that your
       message can get through to the mailing list cleanly
YL
Reply | Threaded
Open this post in threaded view
|

Problems found when compare pgsql odbc 8.0 and myodbc 3.5 using EOModeler

YL
In reply to this post by Kevin Grittner
   EOModeler is a GUI tool to model the database schema as well as the
mapping between database records and EnterpriseObjects. The version
I'm using comes with database adaptors for Oracle, Sybase,Informix,LDAp
FlatFile,Openbase and ODBC.
   I've used EOModeler with many differenct databases including most of the
above, plus SQL server , MySQL, Access (via ODBC). All worked very well.
   But PostgreSQL+pgsqlODBC8.0 not work properly with EOModeler. I
can connect the database fine with EOModeler (can fetch all records in
specified
table within EOModeler), however, EOModeler cannot get the necessary info
about PostgreSQL data types. Below are the comparison of responses between
pgsql odbc 8.0 and myodbc 3.5 when EOModeler tries to get the meta info,
which
show that pgsql odbc reports nothing about the 'typeInfo' expected by
EOModeler,
while myodbc reports all 'typeInfo' (shown below). Consequently, EOModeler
and
related framework know nothing about how to talk to pgsql database properly.
By manully editing the typeInfo that EOModeler obtained and saved (as a text
file),
EOModeler starts working with pgsql. My editing was based on some guess and
the info from myodbc+mysql; which is not complete nor reliablel. can someone
help
me to get a complete typeInfo based one the following comparison? Thanks a
lot.


{
    EOModelVersion = 2.1;
    adaptorName = ODBC;
    connectionDictionary = {
        connectionString =
"DSN=PostgreSQL;DATABASE=EPost;SERVER=localhost;PORT=5432;UID=postgres;PWD=*
*****;ReadOnly=0;Protocol=6.4;FakeOidIndex=0;ShowOidColumn=0;RowVersioning=0
;ShowSystemTables=0;ConnSettings=;Fetch=100;Socket=8192;UnknownSizes=0;MaxVa
rcharSize=254;MaxLongVarcharSize=8190;Debug=0;CommLog=0;Optimizer=1;Ksqo=1;U
seDeclareFetch=0;TextAsLongVarchar=1;UnknownsAsLongVarchar=0;BoolsAsChar=1;P
arse=0;CancelAsFreeStmt=0;ExtraSysTablePrefixes=dd_;;LFConversion=1;Updatabl
eCursors=0;DisallowPremature=0;TrueIsMinus1=0;BI=0;ByteaAsLongVarBinary=0;Us
eServerSidePrepare=0";
        driverInfo = {
            DBMS_NAME = PostgreSQL;
            DBMS_VER = "08.00.0100 PostgreSQL 8.0.3 on i686-pc-mingw32,
compiled by GCC gcc.exe (GCC) 3.4.2 (mingw-sK\U0161\n2`\355\275";
            DRIVER_NAME = PSQLODBC.DLL;
            DRIVER_ODBC_VER = 03.00;
            DRIVER_VER = 08.00.0100;
            EOF_ENABLE_SQLPUTDATA = Y;
            NON_NULLABLE_COLUMNS = Y;
            ODBC_API_CONFORMANCE = LEVEL1;
            ODBC_SQL_CONFORMANCE = CORE;
            SQL_FN_STR_UCASE = Y;
            SQL_IDENTIFIER_QUOTE_CHAR = "\"";
            SQL_ODBC_SQL_OPT_IEF = N;
        };
        typeInfo = {
        };
    };
    entities = ({className = Person; name = Person; });
    internalInfo = {};
}
{
    EOModelVersion = 2.1;
    adaptorName = ODBC;
    connectionDictionary = {
        connectionString =
"DSN=TypeGraphMySQL;DATABASE=TypeGraph;SERVER=localhost;UID=elim;PWD=******;
PORT=;OPTION=0;STMT=;";
        driverInfo = {
            DBMS_NAME = MySQL;
            DBMS_VER = "5.0.1-alpha-nt";
            DRIVER_NAME = myodbc3.dll;
            DRIVER_ODBC_VER = 03.51;
            DRIVER_VER = 03.51.11;
            EOF_ENABLE_SQLPUTDATA = Y;
            NON_NULLABLE_COLUMNS = Y;
            ODBC_API_CONFORMANCE = LEVEL1;
            ODBC_SQL_CONFORMANCE = CORE;
            SQL_FN_STR_UCASE = Y;
            SQL_IDENTIFIER_QUOTE_CHAR = "`";
            SQL_ODBC_SQL_OPT_IEF = N;
        };
        typeInfo = {
            bigint = {
                createParams = 0;
                defaultODBCType = (BIGINT);
                isNullable = YES;
                isSearchable = YES;
                precision = 19;
            };
            "bigint unsigned" = {
                createParams = 0;
                defaultODBCType = (BIGINT);
                isNullable = YES;
                isSearchable = YES;
                precision = 20;
            };
            bit = {
                createParams = 0;
                defaultODBCType = (BIT);
                isNullable = YES;
                isSearchable = YES;
                precision = 1;
            };
            blob = {
                createParams = 0;
                defaultODBCType = ("LONG VARBINARY");
                isNullable = YES;
                isSearchable = YES;
                precision = 65535;
            };
            char = {
                createParams = 1;
                defaultODBCType = (CHAR);
                isNullable = YES;
                isSearchable = YES;
                precision = 255;
            };
            date = {
                createParams = 0;
                defaultODBCType = (DATE);
                isNullable = YES;
                isSearchable = YES;
                precision = 10;
            };
            datetime = {
                createParams = 0;
                defaultODBCType = (TIMESTAMP);
                isNullable = YES;
                isSearchable = YES;
                maxScale = 0;
                minScale = 0;
                precision = 21;
            };
            decimal = {
                createParams = 2;
                defaultODBCType = (DECIMAL);
                isNullable = YES;
                isSearchable = YES;
                maxScale = 19;
                minScale = 0;
                precision = 19;
            };
            double = {
                createParams = 0;
                defaultODBCType = (FLOAT, DOUBLE);
                isNullable = YES;
                isSearchable = YES;
                maxScale = 4;
                minScale = 0;
                precision = 15;
            };
            enum = {
                createParams = 0;
                defaultODBCType = (VARCHAR);
                isNullable = YES;
                isSearchable = YES;
                precision = 255;
            };
            float = {
                createParams = 0;
                defaultODBCType = (REAL);
                isNullable = YES;
                isSearchable = NO;
                maxScale = 2;
                minScale = 0;
                precision = 7;
            };
            int = {
                createParams = 0;
                defaultODBCType = (INTEGER);
                isNullable = YES;
                isSearchable = YES;
                precision = 10;
            };
            "int unsigned" = {
                createParams = 0;
                defaultODBCType = (INTEGER);
                isNullable = YES;
                isSearchable = YES;
                precision = 10;
            };
            integer = {
                createParams = 0;
                defaultODBCType = (INTEGER);
                isNullable = YES;
                isSearchable = YES;
                precision = 10;
            };
            "integer unsigned" = {
                createParams = 0;
                defaultODBCType = (INTEGER);
                isNullable = YES;
                isSearchable = YES;
                precision = 10;
            };
            "long varbinary" = {
                createParams = 0;
                defaultODBCType = ("LONG VARBINARY");
                isNullable = YES;
                isSearchable = YES;
                precision = 16777215;
            };
            "long varchar" = {
                createParams = 0;
                defaultODBCType = ("LONG VARCHAR");
                isNullable = YES;
                isSearchable = YES;
                precision = 16777215;
            };
            longblob = {
                createParams = 0;
                defaultODBCType = ("LONG VARBINARY");
                isNullable = YES;
                isSearchable = YES;
                precision = 2147483647;
            };
            mediumblob = {
                createParams = 0;
                defaultODBCType = ("LONG VARBINARY");
                isNullable = YES;
                isSearchable = YES;
                precision = 16777215;
            };
            mediumint = {
                createParams = 0;
                defaultODBCType = (INTEGER);
                isNullable = YES;
                isSearchable = YES;
                precision = 7;
            };
            "mediumint unsigned" = {
                createParams = 0;
                defaultODBCType = (INTEGER);
                isNullable = YES;
                isSearchable = YES;
                precision = 8;
            };
            mediumtext = {
                createParams = 0;
                defaultODBCType = ("LONG VARCHAR");
                isNullable = YES;
                isSearchable = YES;
                precision = 16777215;
            };
            numeric = {
                createParams = 2;
                defaultODBCType = (NUMERIC);
                isNullable = YES;
                isSearchable = YES;
                maxScale = 19;
                minScale = 0;
                precision = 19;
            };
            set = {
                createParams = 0;
                defaultODBCType = (VARCHAR);
                isNullable = YES;
                isSearchable = YES;
                precision = 255;
            };
            smallint = {
                createParams = 0;
                defaultODBCType = (SMALLINT);
                isNullable = YES;
                isSearchable = YES;
                precision = 5;
            };
            "smallint unsigned" = {
                createParams = 0;
                defaultODBCType = (SMALLINT);
                isNullable = YES;
                isSearchable = YES;
                precision = 5;
            };
            text = {
                createParams = 0;
                defaultODBCType = ("LONG VARCHAR", VARCHAR);
                isNullable = YES;
                isSearchable = YES;
                precision = 65535;
            };
            time = {
                createParams = 0;
                defaultODBCType = (TIME);
                isNullable = YES;
                isSearchable = YES;
                precision = 6;
            };
            timestamp = {
                createParams = 0;
                defaultODBCType = (TIMESTAMP);
                isNullable = NO;
                isSearchable = YES;
                maxScale = 0;
                minScale = 0;
                precision = 14;
            };
            tinyblob = {
                createParams = 0;
                defaultODBCType = ("LONG VARBINARY");
                isNullable = YES;
                isSearchable = YES;
                precision = 255;
            };
            tinyint = {
                createParams = 0;
                defaultODBCType = (TINYINT);
                isNullable = YES;
                isSearchable = YES;
                precision = 3;
            };
            "tinyint unsigned" = {
                createParams = 0;
                defaultODBCType = (TINYINT);
                isNullable = YES;
                isSearchable = YES;
                precision = 3;
            };
            varchar = {
                createParams = 1;
                defaultODBCType = (VARCHAR);
                isNullable = YES;
                isSearchable = YES;
                precision = 255;
            };
            year = {
                createParams = 0;
                defaultODBCType = (SMALLINT);
                isNullable = YES;
                isSearchable = YES;
                precision = 4;
            };
        };
    };
    entities = (
        {className = ERelation; name = ERelation; },
        {className = EType; name = EType; }
    );
    internalInfo = {};
}


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

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