Re: Problem with driver

From: J M Okomba <Okomba(at)kabage(dot)co(dot)ke>
To: 'pgsql-jdbc' <pgsql-jdbc(at)postgresql(dot)org>
Subject: Re: Problem with driver
Date: 2003-03-14 08:19:19
Message-ID: 715DF98A936DD211B29D0008C71E55D4945ADE@NTSERVER1
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc


Changing backend encoding to LATIN1 solved the problem.

Thanks.

> -----Original Message-----
> From: Barry Lind [SMTP:blind(at)xythos(dot)com]
> Sent: 12 March 2003 15:11
> To: J M Okomba
> Cc: 'pgsql-jdbc'
> Subject: Re: [JDBC] Problem with driver
>
> If you are using the 7.3 drivers (which I am assuming from the error
> message you are getting), the "?charSet" is no longer used. So all the
> test cases would be expected to have the same results. As the error
> message indicates the problem is with the character set of your
> database. In psql do a \l to show what character set your database is
> created in. I suspect it is SQL_ASCII in which case you can't store
> non-ascii characters (like the £ (pound)). You would need to recreate
> your database in LATIN1 or some other character set that supports this
> character.
>
> thanks,
> --Barry
>
> J M Okomba wrote:
> > I got the different errors by changing the charSet (encoding) in the
> > connection string i.e.:
> >
> > 1. String DBUrl =
> > "jdbc:postgresql://localhost:5432/database?charSet=LATIN1"; // for
> LATIN1
> > errors
> > 2. String DBUrl =
> > "jdbc:postgresql://localhost:5432/database?charSet=SQL_ASCII"; //for
> > SQL_ASCII errors
> > 3. String DBUrl =
> > "jdbc:postgresql://localhost:5432/database?charSet=UNICODE"; // for
> UNICODE
> > errors
> >
> > By changing DBUrl in TestJDBC.java with the three different strings
> above
> > you'll get the errors I have attached.
> >
> > The file pgjdbc2-LATIN1.txt contains the desired result.
> >
> >
> >>-----Original Message-----
> >>From: Barry Lind [SMTP:blind(at)xythos(dot)com]
> >>Sent: 12 March 2003 08:50
> >>To: J M Okomba
> >>Cc: 'pgsql-jdbc'
> >>Subject: Re: [JDBC] Problem with driver
> >>
> >>Can you be more specific. I don't know what you mean by 'latin1 errors'
>
> >>or 'sql_ascii errors' or 'unicode errors'? What are these attached
> >>files showing us? Can you provide test cases (simple code examples that
>
> >>we can compile and run here) that demonstrate your problem?
> >>
> >>thanks,
> >>--Barry
> >>
> >>J M Okomba wrote:
> >>
> >>>After some more trials I have found out that the problem is with the
> >>>encoding. The problematic table has a £ (pound) entry, which pg73jdbc3
> >>
> >>is
> >>
> >>>having difficulties retrieving. I did tests with pg73jdbc3 using
> >>
> >>different
> >>
> >>>encoding and found the attached results:
> >>>
> >>> <<LATIN1-errors.txt>>
> >>
> >><<SQL_ASCII-errors.txt>>
> >>
> >>> <<UNICODE-errors.txt>>
> >>>
> >>>Tests with pgjdbc2 gave the attached results:
> >>>
> >>> <<pgjdbc2-LATIN1.txt>>
> >>><<pgjdbc2-UNICODE-errors.txt>>
> >>>It appears that UNICODE has a problem even with pgjdbc2.
> >>>
> >>>Attached is the Java file
> >>>
> >>> <<TestJDBC.java>>
> >>>Please help.
> >>>
> >>>
> >>>
> >>>
> >>>>-----Original Message-----
> >>>>From: J M Okomba [SMTP:Okomba(at)kabage(dot)co(dot)ke]
> >>>>Sent: 11 March 2003 15:48
> >>>>To: 'pgsql-jdbc'
> >>>>Subject: Re: [JDBC] Problem with driver
> >>>>
> >>>>
> >>>>After doing some more tests I have discovered that the problem is most
> >>>>likely being caused by the context (environment) of the application I
> >>
> >>am
> >>
> >>>>calling. I have managed to access the problematic table from a bare
> Java
> >>>>application. I will try to find out why I can't access it from a
> >>>>JSP/servlet.
> >>>>
> >>>>Thanks.
> >>>>
> >>>>
> >>>>
> >>>>>-----Original Message-----
> >>>>>From: Dave Cramer [SMTP:Dave(at)micro-automation(dot)net]
> >>>>>Sent: 11 March 2003 12:14
> >>>>>To: J M Okomba
> >>>>>Cc: 'pgsql-jdbc'
> >>>>>Subject: Re: [JDBC] Problem with driver
> >>>>>
> >>>>>Can you send us a test case so we can replicate the problem here
> >>>>>
> >>>>>Dave
> >>>>>On Tue, 2003-03-11 at 01:40, J M Okomba wrote:
> >>>>>
> >>>>>
> >>>>>>I keep getting this error:
> >>>>>>
> >>>>>>Database error in EmbeddedData.fetchData Invalid character data was
> >>>>>
> >>>>>found.
> >>>>>
> >>>>>
> >>>>>>This is most likely caused by stored data containing characters that
> >>>>
> >>>>are
> >>>>
> >>>>
> >>>>>>invalid for the character set the database was created in. The most
> >>>>>
> >>>>>common
> >>>>>
> >>>>>
> >>>>>>example of this is storing 8bit data in a SQL_ASCII database
> >>>>>>
> >>>>>>with current postgres drivers downloaded from
> >>>>>>http://jdbc.postgresql.org/download/ (like pg73jdbc3.jar and
> others).
> >>>>>
> >>>>>The
> >>>>>
> >>>>>
> >>>>>>error is only thrown when I try to access one table (other tables in
> >>>>
> >>>>the
> >>>>
> >>>>
> >>>>>>database work fine).
> >>>>>>
> >>>>>>However I don't get this error with pgjdbc2.jar, which I downloaded
> >>>>>
> >>>>>about 8
> >>>>>
> >>>>>
> >>>>>>months ago.
> >>>>>>
> >>>>>>I will appreciate any help to resolve the problem. I really need to
> >>>>
> >>>>use
> >>>>
> >>>>
> >>>>>new
> >>>>>
> >>>>>
> >>>>>>features in the updated drivers.
> >>>>>>
> >>>>>>
> >>>>>>---------------------------(end of
> >>>>
> >>>>broadcast)---------------------------
> >>>>
> >>>>
> >>>>>>TIP 3: if posting/reading through Usenet, please send an appropriate
> >>>>>>subscribe-nomail command to majordomo(at)postgresql(dot)org so that your
> >>>>>>message can get through to the mailing list cleanly
> >>>>>
> >>>>>--
> >>>>>Dave Cramer <Dave(at)micro-automation(dot)net>
> >>>>
> >>>>---------------------------(end of
> broadcast)---------------------------
> >>>>TIP 4: Don't 'kill -9' the postmaste
> >>>
> >>>r
> >>>
> >>>
> >>>-----------------------------------------------------------------------
> -
> >>>
> >>>
> >>>
> >>>2 - entry
> >>>DM - entry
> >>>Deutsch Marks - entry
> >>>null - entry
> >>>000.00 - entry
> >>>false - entry
> >>>null - entry
> >>>=====================================================
> >>>5 - entry
> >>>Invalid character data was found. This is most likely caused by stored
> >>
> >>data containing characters that are invalid for the character set the
> >>database was created in. The most common example of this is storing
> 8bit
> >>data in a SQL_ASCII database. - sqle.getMessage()
> >>
> >>>Invalid character data was found. This is most likely caused by stored
> >>
> >>data containing characters that are invalid for the character set the
> >>database was created in. The most common example of this is storing
> 8bit
> >>data in a SQL_ASCII database.
> >>
> >>> at org.postgresql.core.Encoding.decodeUTF8(Encoding.java:270)
> >>> at org.postgresql.core.Encoding.decode(Encoding.java:165)
> >>> at org.postgresql.core.Encoding.decode(Encoding.java:181)
> >>> at
> >>
> >>org.postgresql.jdbc1.AbstractJdbc1ResultSet.getString(AbstractJdbc1Resul
> tS
> >>et.java:97)
> >>
> >>> at
> >>
> >>org.postgresql.jdbc2.AbstractJdbc2ResultSet.getObject(AbstractJdbc2Resul
> tS
> >>et.java:120)
> >>
> >>> at
> >>
> >>org.postgresql.jdbc1.AbstractJdbc1ResultSet.getObject(AbstractJdbc1Resul
> tS
> >>et.java:514)
> >>
> >>> at temp.TestJDBC.main(TestJDBC.java:105)
> >>>
> >>>
> >>>
> >>>-----------------------------------------------------------------------
> -
> >>>
> >>>
> >>>2 - entry
> >>>DM - entry
> >>>Deutsch Marks - entry
> >>>null - entry
> >>>000.00 - entry
> >>>false - entry
> >>>null - entry
> >>>=====================================================
> >>>5 - entry
> >>>Invalid character data was found. This is most likely caused by stored
> >>
> >>data containing characters that are invalid for the character set the
> >>database was created in. The most common example of this is storing
> 8bit
> >>data in a SQL_ASCII database. - sqle.getMessage()
> >>
> >>>Invalid character data was found. This is most likely caused by stored
> >>
> >>data containing characters that are invalid for the character set the
> >>database was created in. The most common example of this is storing
> 8bit
> >>data in a SQL_ASCII database.
> >>
> >>> at org.postgresql.core.Encoding.decodeUTF8(Encoding.java:270)
> >>> at org.postgresql.core.Encoding.decode(Encoding.java:165)
> >>> at org.postgresql.core.Encoding.decode(Encoding.java:181)
> >>> at
> >>
> >>org.postgresql.jdbc1.AbstractJdbc1ResultSet.getString(AbstractJdbc1Resul
> tS
> >>et.java:97)
> >>
> >>> at
> >>
> >>org.postgresql.jdbc2.AbstractJdbc2ResultSet.getObject(AbstractJdbc2Resul
> tS
> >>et.java:120)
> >>
> >>> at
> >>
> >>org.postgresql.jdbc1.AbstractJdbc1ResultSet.getObject(AbstractJdbc1Resul
> tS
> >>et.java:514)
> >>
> >>> at temp.TestJDBC.main(TestJDBC.java:105)
> >>>
> >>>
> >>>-----------------------------------------------------------------------
> -
> >>>
> >>>
> >>>Something unusual has occured to cause the driver to fail. Please
> report
> >>
> >>this exception: Exception: java.sql.SQLException:
> >>
> >>>Stack Trace:
> >>>java.sql.SQLException:
> >>> at
> >>
> >>org.postgresql.core.QueryExecutor.execute(QueryExecutor.java:131)
> >>
> >>> at
> >>
> >>org.postgresql.jdbc1.AbstractJdbc1Connection.ExecSQL(AbstractJdbc1Connec
> ti
> >>on.java:482)
> >>
> >>> at
> >>
> >>org.postgresql.jdbc1.AbstractJdbc1Connection.ExecSQL(AbstractJdbc1Connec
> ti
> >>on.java:461)
> >>
> >>> at
> >>
> >>org.postgresql.jdbc1.AbstractJdbc1Connection.openConnection(AbstractJdbc
> 1C
> >>onnection.java:375)
> >>
> >>> at org.postgresql.Driver.connect(Driver.java:122)
> >>> at java.sql.DriverManager.getConnection(DriverManager.java:512)
> >>> at java.sql.DriverManager.getConnection(DriverManager.java:171)
> >>> at temp.TestJDBC.main(TestJDBC.java:76)
> >>>End of Stack Trace
> >>> - sqle.getMessage()
> >>>Something unusual has occured to cause the driver to fail. Please
> report
> >>
> >>this exception: Exception: java.sql.SQLException:
> >>
> >>>Stack Trace:
> >>>java.sql.SQLException:
> >>> at
> >>
> >>org.postgresql.core.QueryExecutor.execute(QueryExecutor.java:131)
> >>
> >>> at
> >>
> >>org.postgresql.jdbc1.AbstractJdbc1Connection.ExecSQL(AbstractJdbc1Connec
> ti
> >>on.java:482)
> >>
> >>> at
> >>
> >>org.postgresql.jdbc1.AbstractJdbc1Connection.ExecSQL(AbstractJdbc1Connec
> ti
> >>on.java:461)
> >>
> >>> at
> >>
> >>org.postgresql.jdbc1.AbstractJdbc1Connection.openConnection(AbstractJdbc
> 1C
> >>onnection.java:375)
> >>
> >>> at org.postgresql.Driver.connect(Driver.java:122)
> >>> at java.sql.DriverManager.getConnection(DriverManager.java:512)
> >>> at java.sql.DriverManager.getConnection(DriverManager.java:171)
> >>> at temp.TestJDBC.main(TestJDBC.java:76)
> >>>End of Stack Trace
> >>> at org.postgresql.Driver.connect(Driver.java:141)
> >>> at java.sql.DriverManager.getConnection(DriverManager.java:512)
> >>> at java.sql.DriverManager.getConnection(DriverManager.java:171)
> >>> at temp.TestJDBC.main(TestJDBC.java:76)
> >>>
> >>>
> >>>-----------------------------------------------------------------------
> -
> >>>
> >>>
> >>>
> >>>2 - entry
> >>>DM - entry
> >>>Deutsch Marks - entry
> >>>null - entry
> >>>000.00 - entry
> >>>false - entry
> >>>null - entry
> >>>=====================================================
> >>>5 - entry
> >>>UK£ - entry
> >>>Pounds Sterling - entry
> >>>null - entry
> >>>000.00 - entry
> >>>false - entry
> >>>null - entry
> >>>=====================================================
> >>>6 - entry
> >>>US$ - entry
> >>>US Dollars - entry
> >>>null - entry
> >>>000.01 - entry
> >>>false - entry
> >>>null - entry
> >>>=====================================================
> >>>7 - entry
> >>>USH - entry
> >>>Uganda Shillings - entry
> >>>null - entry
> >>>001.00 - entry
> >>>false - entry
> >>>null - entry
> >>>=====================================================
> >>>8 - entry
> >>>ZIM$ - entry
> >>>Zimbabwe Dollars - entry
> >>>null - entry
> >>>001.00 - entry
> >>>false - entry
> >>>null - entry
> >>>=====================================================
> >>>3 - entry
> >>>KSH - entry
> >>>Kenya Shillings - entry
> >>>KENYA - entry
> >>>000.05 - entry
> >>>true - entry
> >>> - entry
> >>>=====================================================
> >>>4 - entry
> >>>RAND - entry
> >>>South African Rand - entry
> >>>RSA - entry
> >>>000.00 - entry
> >>>false - entry
> >>> - entry
> >>>=====================================================
> >>>9 - entry
> >>>T.Shs - entry
> >>>Tanzania Shillings - entry
> >>>TANZ - entry
> >>>000.00 - entry
> >>>false - entry
> >>> - entry
> >>>=====================================================
> >>>12 - entry
> >>>USHSs - entry
> >>>Uganda Shillings - entry
> >>>UG - entry
> >>> - entry
> >>>false - entry
> >>> - entry
> >>>=====================================================
> >>>
> >>>
> >>>
> >>>
> >>>-----------------------------------------------------------------------
> -
> >>>
> >>>
> >>>
> >>> - sqle.getMessage()
> >>>java.sql.SQLException:
> >>> at
> >>
> >>org.postgresql.core.QueryExecutor.execute(QueryExecutor.java:94)
> >>
> >>> at org.postgresql.Connection.ExecSQL(Connection.java:398)
> >>> at org.postgresql.jdbc2.Statement.execute(Statement.java:130)
> >>> at
> >>
> >>org.postgresql.jdbc2.Statement.executeQuery(Statement.java:54)
> >>
> >>> at temp.TestJDBC.main(TestJDBC.java:82)
> >>>
> >>>
> >>>
> >>>
> >>>-----------------------------------------------------------------------
> -
> >>>
> >>>
> >>>---------------------------(end of
> broadcast)---------------------------
> >>>TIP 3: if posting/reading through Usenet, please send an appropriate
> >>>subscribe-nomail command to majordomo(at)postgresql(dot)org so that your
> >>>message can get through to the mailing list cleanly
> >>
> >>
> >>
> >>---------------------------(end of broadcast)---------------------------
> >>TIP 1: subscribe and unsubscribe commands go to majordomo(at)postgresql(dot)org
> >
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 5: Have you checked our extensive FAQ?
> >
> > http://www.postgresql.org/docs/faqs/FAQ.html
> >
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
>
> http://www.postgresql.org/docs/faqs/FAQ.html

Browse pgsql-jdbc by date

  From Date Subject
Next Message Tim Farrell 2003-03-14 13:07:29 Re: embedding PostgreSQL in a Java application
Previous Message J M Okomba 2003-03-14 05:54:52 Re: Doubt in Value insertion to an Array column through JD