Home > Archive > PostgreSQL Bugs > August 2005 > Problems found when compare pgsql odbc 8.0 and myodbc 3.5 using EOModeler









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

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

2005-08-23, 1:24 pm

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+pgsqlODBC
8.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;DATAB
ASE=EPost;SERVER=loc
alhost;PORT=5432;UID
=postgres;PWD=*
*****;ReadOnly=0;Pro
tocol=6. 4;FakeOidIndex=0;Sho
wOidColumn=0;RowVers
ioning=0
;ShowSystemTables=0;
ConnSettings=;Fetch=
100;Socket=8192;Unkn
ownSizes=0;MaxVa
rcharSize=254;MaxLon
gVarcharSize=8190;De
bug=0;CommLog=0;Opti
mizer=1;Ksqo=1;U
seDeclareFetch=0;Tex
tAsLongVarchar=1;Unk
nownsAsLongVarchar=0
;BoolsAsChar=1;P
arse=0;CancelAsFreeS
tmt=0;ExtraSysTableP
refixes=dd_;;LFConve
rsion=1;Updatabl
eCursors=0;DisallowP
remature=0;TrueIsMin
us1=0;BI=0;ByteaAsLo
ngVarBinary=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_SQLPUTDAT
A = 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;D
ATABASE=TypeGraph;SE
RVER=localhost;UID=e
lim;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_SQLPUTDAT
A = 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

Sponsored Links





Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive | Programming forum archive

Copyright 2008 droptable.com