Re: MS Oracle Data Provider BUG: Data corrupt after 16 rows with O

From: philipp (philipp_at_discussions.microsoft.com)
Date: 07/20/04


Date: Tue, 20 Jul 2004 06:30:05 -0700

Hello Frans , hello Angel,

thank you for all your replies. It may help you to know how the data got into the database. I tried several ways to fill in the data into the table:

1. Initial data were a dump from a former 8i UTF8 database. They were imported into the 9i database without any errors (i tried 8i Client as well as 9i client).

2. Second way i tried is the following: I made TOAD to generate an sql script from the data with a lot of insert statements. Via TOAD (8i Client as well as 9i Client, tried both on different machines) i loaded the data into the table by the sql script. Before, I tried truncating the table as well as dropping and recreating the table.

To me, it still seems to be an ODP / MSDPO issue OR an Oracle Client (9.2.0.1.) issue. I cannot imagine how simple ascii-sql-scripts could lead to corrupt data encodings or whatsoever. Also I cannot imagine that the database itself (9.2.0.4 on W2003Server) makes such simple errors in the Online-Converting. Although, this may be a hint, the problem disappears when I tell the client (via registry) to use WE8MSWIN1252 instead of UTF8.

Another hint may be the following: We had exactly the same problem 1,5 years ago when we were using ODP and 8i Client / 8i Database. The second prefetch of rows lost one or some bytes and data were corrupt. A former team member informed me that the problem disappeared when they switched from ODP (at that time) to MS Data Provider.

Any other ideas ?

Angel, you had a similar thread in another group 0,5 years ago with a developer from poland. Could you help him at that time? How?

Thanks a lot in advance,

Philipp.

"Angel Saenz-Badillos[MS]" wrote:

> I was thinking more along the lines of invalid UTF 8 data having been
> inserted into the Oracle database. This is surprisingly easy to do and hard
> to catch. By default some providers and sqlplus are not safe to use with
> Unicode into a UTF8 database, when you insert Unicode data it inserts
> "garbage". This is hard to catch because reading back the "garbage" data
> with the same provider that you used to insert it will return the data you
> where expecting. True Unicode providers like odp.net and the oracle managed
> provider will instead return the "garbage". The best way to verify this is
> to do a "select dump(<row>, 1016) from <yourtable>" and use a utf8
> converter to verify that the data in the database is correct.
>
> --
> Angel Saenz-Badillos [MS] Managed Providers
> This posting is provided "AS IS", with no warranties, and confers no
> rights.Please do not send email directly to this alias.
> This alias is for newsgroup purposes only.
> I am now blogging about ADO.NET: http://weblogs.asp.net/angelsb/
>
>
>
>
> "Frans Bouma [C# MVP]" <perseus.usenetNOSPAM@xs4all.nl> wrote in message
> news:xn0dkyszusv731000@msnews.microsoft.com...
> > Angel Saenz-Badillos[MS] wrote:
> >
> > > It is really strange that both ODP.NET and the Oracle Client managed
> > > provider are running into this question, especially since your database
> is
> > > using UTF8. How did you insert the data? Can you do a select dump to get
> the
> > > actual value inserted in the database and verify that the data was
> inserted
> > > correctly?
> >
> > ... perhaps it's something with the oracle client (thus not the provider,
> > but the actual client software the provider talks to) settings.
> >
> > FB
>
>
>



Relevant Pages

  • Re: ODBC Connection to SQL Server Compact
    ... required to connect to database. ... Dim conn As ADODB.Connection ... you should clear up something: OLEDB providers are not ODBC ... "connect" the Access database with the SQL Server Compact Edition since it ...
    (microsoft.public.access.modulesdaovba)
  • Re: problems access an MS Access 2000 DB using ASP
    ... > providers and currently she is working on the new website which currently ... In this database there is only one table. ... > specify a system file in the db connection string and also specify a ... > Set rstDB = Server.CreateObject ...
    (microsoft.public.inetserver.asp.db)
  • Re: ODBC Connection to SQL Server Compact
    ... are using one of these programs to create the SDF database file. ... Dim conn As ADODB.Connection ... Set conn = New ADODB.Connection ... you should clear up something: OLEDB providers are not ODBC ...
    (microsoft.public.access.modulesdaovba)
  • Re: Is there a way to keep the StreamWriter open?
    ... database and then move over to your database where you are having your ... use it to track errors, you could use one of the other providers, such ... to track request events instead. ...
    (microsoft.public.dotnet.framework.aspnet)
  • Re: Problems accessing an MS Access 2000 DB in ASP
    ... > which currently ressides on the new providers server as they support ... In this database there is only one ... > the appropriate permissions for you. ... IWAM_machinename account also needs those permissions. ...
    (microsoft.public.inetserver.asp.general)

Loading