Sybase NNTP forums - End Of Life (EOL)

The NNTP forums from Sybase - forums.sybase.com - are now closed.

All new questions should be directed to the appropriate forum at the SAP Community Network (SCN).

Individual products have links to the respective forums on SCN, or you can go to SCN and search for your product in the search box (upper right corner) to find your specific developer center.

SQLException: Der Wert '0.00' ist eine ungültige nummerische Zeichenfolge

4 posts in iAnywhere General Discussion (German) Last posting was on 2008-02-22 15:36:24.0Z
Andreas Bauer Posted on 2008-02-14 16:33:29.0Z
From: Andreas Bauer <andreas.bauer@vsa.de>
User-Agent: Mozilla Thunderbird 1.0.7 (Windows/20050923)
X-Accept-Language: en-us, en
MIME-Version: 1.0
Newsgroups: ianywhere.public.german.general
Subject: SQLException: Der Wert '0.00' ist eine ungültige nummerische Zeichenfolge
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit
NNTP-Posting-Host: vip152.sybase.com
X-Original-NNTP-Posting-Host: vip152.sybase.com
Message-ID: <47b46d59$1@forums-1-dub>
Date: 14 Feb 2008 08:33:29 -0800
X-Trace: forums-1-dub 1203006809 10.22.241.152 (14 Feb 2008 08:33:29 -0800)
X-Original-Trace: 14 Feb 2008 08:33:29 -0800, vip152.sybase.com
Lines: 16
Path: forums-1-dub!not-for-mail
Xref: forums-1-dub ianywhere.public.german.general:423
Article PK: 1096

Hallo,

gegeben ist eine Tabelle mit mehreren Spalten, u.a. die Spalte BEWERTUNG
DECIMAL (10,2). Es steht der Wert 0.00 in der Datenbank. Beim Auslesen
über JAVA / ODBC kommt folgender, nicht reproduzierbarer Fehler:

java.sql.SQLException: Der Wert '0.00' ist eine ungültige nummerische
Zeichenfolge
at ianywhere.ml.jdbcodbc.IIResultSet.getDouble(Native Method)
at ianywhere.ml.jdbcodbc.IResultSet.getDouble(IResultSet.java:286)

Was kann das für Ursachen haben? Der Wert kommt ja so von der Datenbank.

viele Grüße

Andreas


Dietrich Posted on 2008-02-18 15:54:06.0Z
From: Dietrich <Dietrich@iAnywhere.Sybase.Germany>
User-Agent: Thunderbird 2.0.0.9 (Windows/20071031)
MIME-Version: 1.0
Newsgroups: ianywhere.public.german.general
Subject: Re: SQLException: Der Wert '0.00' ist eine ungültige nummerische Zeichenfolge
References: <47b46d59$1@forums-1-dub>
In-Reply-To: <47b46d59$1@forums-1-dub>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit
NNTP-Posting-Host: vip152.sybase.com
X-Original-NNTP-Posting-Host: vip152.sybase.com
Message-ID: <47b9aa1e@forums-1-dub>
Date: 18 Feb 2008 07:54:06 -0800
X-Trace: forums-1-dub 1203350046 10.22.241.152 (18 Feb 2008 07:54:06 -0800)
X-Original-Trace: 18 Feb 2008 07:54:06 -0800, vip152.sybase.com
Lines: 43
X-Authenticated-User: techsupp
Path: forums-1-dub!not-for-mail
Xref: forums-1-dub ianywhere.public.german.general:425
Article PK: 1098

Hallo,

ich vermute einmal, dass es sich dabei um ein Sprachen- bzw.
Länder-bezogenes Problem handelt. ODBC übermittelt "0.00" und Java
versucht wahrscheinlich mit dem "," als Dezimal-Trenner diesen Wert zu
wandeln.

Das Problem ließ sich leider nicht nachzustellen. Obwohl ich darauf
geachtet habe überall die Einstellung auf Deutsch/Deutschland gestellt habe.

Kannst Du mir die Umgebung beschreiben? Ich würde dann die Tests wieder
holen.
- OS (Server/Client)
- Eingestellte Sprachen/Länder auf den OSes
- Java Version
- SQL Anywhere version


BTW
Vestehe ich das Beispiel richtig, dass der Wert "0.00" nur exemplarisch
ist? Also das Problem auch mit anderen Dezimal-Werten auftritt?

Gruß,

Dietrich

Andreas Bauer wrote:
> Hallo,
>
> gegeben ist eine Tabelle mit mehreren Spalten, u.a. die Spalte BEWERTUNG
> DECIMAL (10,2). Es steht der Wert 0.00 in der Datenbank. Beim Auslesen
> über JAVA / ODBC kommt folgender, nicht reproduzierbarer Fehler:
>
> java.sql.SQLException: Der Wert '0.00' ist eine ungültige nummerische
> Zeichenfolge
> at ianywhere.ml.jdbcodbc.IIResultSet.getDouble(Native Method)
> at ianywhere.ml.jdbcodbc.IResultSet.getDouble(IResultSet.java:286)
>
> Was kann das für Ursachen haben? Der Wert kommt ja so von der Datenbank.
>
> viele Grüße
>
> Andreas


Andreas Bauer Posted on 2008-02-20 16:22:20.0Z
From: Andreas Bauer <andreas.bauer@vsa.de>
User-Agent: Mozilla Thunderbird 1.0.7 (Windows/20050923)
X-Accept-Language: en-us, en
MIME-Version: 1.0
Newsgroups: ianywhere.public.german.general
Subject: Re: SQLException: Der Wert '0.00' ist eine ungültige nummerische Zeichenfolge
References: <47b46d59$1@forums-1-dub> <47b9aa1e@forums-1-dub>
In-Reply-To: <47b9aa1e@forums-1-dub>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit
NNTP-Posting-Host: vip152.sybase.com
X-Original-NNTP-Posting-Host: vip152.sybase.com
Message-ID: <47bc53bc@forums-1-dub>
Date: 20 Feb 2008 08:22:20 -0800
X-Trace: forums-1-dub 1203524540 10.22.241.152 (20 Feb 2008 08:22:20 -0800)
X-Original-Trace: 20 Feb 2008 08:22:20 -0800, vip152.sybase.com
Lines: 62
Path: forums-1-dub!not-for-mail
Xref: forums-1-dub ianywhere.public.german.general:426
Article PK: 1099

Hallo,

wir setzen einen Suse-Enterprise-Server ein, Kernelversion: 2.6.16.21
SQL-Anywhere 9.0.2.3476
Language: de_DE@euro
Java-Version: 1.5.0.12-b64

Das Problem tritt auch mit anderen Dezimal-Werten auf und mittlerweile
können wir das nachstellen. Welche Informationen soll ich noch liefern?

gruß

Andreas

Dietrich wrote:
> Hallo,
>
> ich vermute einmal, dass es sich dabei um ein Sprachen- bzw.
> Länder-bezogenes Problem handelt. ODBC übermittelt "0.00" und Java
> versucht wahrscheinlich mit dem "," als Dezimal-Trenner diesen Wert zu
> wandeln.
>
> Das Problem ließ sich leider nicht nachzustellen. Obwohl ich darauf
> geachtet habe überall die Einstellung auf Deutsch/Deutschland gestellt
> habe.
>
> Kannst Du mir die Umgebung beschreiben? Ich würde dann die Tests wieder
> holen.
> - OS (Server/Client)
> - Eingestellte Sprachen/Länder auf den OSes
> - Java Version
> - SQL Anywhere version
>
>
> BTW
> Vestehe ich das Beispiel richtig, dass der Wert "0.00" nur exemplarisch
> ist? Also das Problem auch mit anderen Dezimal-Werten auftritt?
>
> Gruß,
>
> Dietrich
>
> Andreas Bauer wrote:
>
>> Hallo,
>>
>> gegeben ist eine Tabelle mit mehreren Spalten, u.a. die Spalte
>> BEWERTUNG DECIMAL (10,2). Es steht der Wert 0.00 in der Datenbank.
>> Beim Auslesen über JAVA / ODBC kommt folgender, nicht reproduzierbarer
>> Fehler:
>>
>> java.sql.SQLException: Der Wert '0.00' ist eine ungültige nummerische
>> Zeichenfolge
>> at ianywhere.ml.jdbcodbc.IIResultSet.getDouble(Native Method)
>> at ianywhere.ml.jdbcodbc.IResultSet.getDouble(IResultSet.java:286)
>>
>> Was kann das für Ursachen haben? Der Wert kommt ja so von der Datenbank.
>>
>> viele Grüße
>>
>> Andreas


Andreas Bauer Posted on 2008-02-22 15:36:24.0Z
From: Andreas Bauer <andreas.bauer@vsa.de>
User-Agent: Mozilla Thunderbird 1.0.7 (Windows/20050923)
X-Accept-Language: en-us, en
MIME-Version: 1.0
Newsgroups: ianywhere.public.german.general
Subject: Re: SQLException: Der Wert '0.00' ist eine ungültige nummerische Zeichenfolge
References: <47b46d59$1@forums-1-dub> <47b9aa1e@forums-1-dub> <47bc53bc@forums-1-dub>
In-Reply-To: <47bc53bc@forums-1-dub>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit
NNTP-Posting-Host: vip152.sybase.com
X-Original-NNTP-Posting-Host: vip152.sybase.com
Message-ID: <47beebf8@forums-1-dub>
Date: 22 Feb 2008 07:36:24 -0800
X-Trace: forums-1-dub 1203694584 10.22.241.152 (22 Feb 2008 07:36:24 -0800)
X-Original-Trace: 22 Feb 2008 07:36:24 -0800, vip152.sybase.com
Lines: 129
Path: forums-1-dub!not-for-mail
Xref: forums-1-dub ianywhere.public.german.general:427
Article PK: 1100

Hallo,

wir können das Problem jetzt weiter eingrenzen. Man muss nur folgendes
machen:

- Auf Suseenterprise einen Drucker einrichten
- Datenbank mit Tabelle, Decimal-Spalte und z.B. 5.333 einfügen
- Dann über Java drucken (jdk 1.5):

z.B. so:

private void printExporter() {
final PrintRequestAttributeSet printRequestAttributeSet = new
HashPrintRequestAttributeSet();
PrintServiceAttributeSet printServiceASet = new
HashPrintServiceAttributeSet();
PrintService[] services =
PrintServiceLookup.lookupPrintServices(null, printServiceASet);
if (services.length > 0) {
PrintService service = services[0];
//Doc erzeugen
DocAttributeSet docset = new HashDocAttributeSet();
Doc doc = new SimpleDoc(new TestPrint(),
DocFlavor.SERVICE_FORMATTED.PRINTABLE, docset);
//Printjob erzeigen
DocPrintJob printJob = service.createPrintJob();
// Print it
try {
printJob.print(doc, printRequestAttributeSet);
} catch (PrintException e) {
e.printStackTrace();
}
}
else {
System.out.println("Kein Drucker im System, so tritt der Fehler
nicht auf!");
}
}

und dann in der gleichen Java-App einfach über ODBC auf eine Tabelle mit
Decimal zugreifen:

private void executeDBStatement() throws SQLException {
DataSource source = createODBCDataSource("jdbc:odbc:dsn="+datenquelle);
final Connection connection = source.getConnection();
assert connection != null : "Keine Connection von Datasource
erhalten.";
final Statement statement = connection.createStatement();
statement.execute("Select * from decSpalteTest;");
final ResultSet resultSet = statement.getResultSet();
resultSet.next();
final double aDouble = resultSet.getDouble(1);
System.out.println("wert: " + aDouble);
}

Dann knallts.

Werd wohl mal einen support-Fall drauß machen.

viele Grüße

Andreas

Andreas Bauer wrote:
> Hallo,
>
> wir setzen einen Suse-Enterprise-Server ein, Kernelversion: 2.6.16.21
> SQL-Anywhere 9.0.2.3476
> Language: de_DE@euro
> Java-Version: 1.5.0.12-b64
>
> Das Problem tritt auch mit anderen Dezimal-Werten auf und mittlerweile
> können wir das nachstellen. Welche Informationen soll ich noch liefern?
>
> gruß
>
> Andreas
>
>
> Dietrich wrote:
>
>> Hallo,
>>
>> ich vermute einmal, dass es sich dabei um ein Sprachen- bzw.
>> Länder-bezogenes Problem handelt. ODBC übermittelt "0.00" und Java
>> versucht wahrscheinlich mit dem "," als Dezimal-Trenner diesen Wert zu
>> wandeln.
>>
>> Das Problem ließ sich leider nicht nachzustellen. Obwohl ich darauf
>> geachtet habe überall die Einstellung auf Deutsch/Deutschland gestellt
>> habe.
>>
>> Kannst Du mir die Umgebung beschreiben? Ich würde dann die Tests
>> wieder holen.
>> - OS (Server/Client)
>> - Eingestellte Sprachen/Länder auf den OSes
>> - Java Version
>> - SQL Anywhere version
>>
>>
>> BTW
>> Vestehe ich das Beispiel richtig, dass der Wert "0.00" nur
>> exemplarisch ist? Also das Problem auch mit anderen Dezimal-Werten
>> auftritt?
>>
>> Gruß,
>>
>> Dietrich
>>
>> Andreas Bauer wrote:
>>
>>> Hallo,
>>>
>>> gegeben ist eine Tabelle mit mehreren Spalten, u.a. die Spalte
>>> BEWERTUNG DECIMAL (10,2). Es steht der Wert 0.00 in der Datenbank.
>>> Beim Auslesen über JAVA / ODBC kommt folgender, nicht
>>> reproduzierbarer Fehler:
>>>
>>> java.sql.SQLException: Der Wert '0.00' ist eine ungültige nummerische
>>> Zeichenfolge
>>> at ianywhere.ml.jdbcodbc.IIResultSet.getDouble(Native Method)
>>> at ianywhere.ml.jdbcodbc.IResultSet.getDouble(IResultSet.java:286)
>>>
>>> Was kann das für Ursachen haben? Der Wert kommt ja so von der Datenbank.
>>>
>>> viele Grüße
>>>
>>> Andreas