Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsFree MagazinesWhite PapersSubmit Content
Discussion GroupsASP.NETWindows FormsLanguages.NET FrameworkVisual Studio.NET
Articles.NET FrameworkASP.NETToolsWindows Forms
.NET DirectoryOpen Source ProjectsUser GroupsWeb Resources
Related Topics
Visual Basic 6SQL ServerMS AccessOther DB ProductsMS Server ProductsMore Topics ...

.NET Forum / .NET Framework / ADO.NET / March 2004

Tip: Looking for answers? Try searching our database.

Bug in Oracle Client

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Arun Rajput - 18 Mar 2004 09:26 GMT
I am using oracle client. Simply filling a dataset with oracle dataAdapter.
But in dataset some rows are corrupted. It is replacing last few characters with "\0
The same code works fine if i use OleDbClient. Again the same code works fine with Windows2000 serve
but gives the same problem on windows2003 server and windows2000 professional editions.
Help me in finding out the reason adn solving the problem

Thank
Arun
Angel Saenz-Badillos[MS] - 20 Mar 2004 09:34 GMT
Not sure if this applies to you, read on if your Oracle server is set to
UTF8:

If you are using UTF8 the problem is not that you are receiving corrupted
data , the problem is  that you are inserting invalid utf8-data. It is
fairly simple to insert invalid utf8 data into Oracle since sqlPlus needs to
be properly configured and older providers like our MSDAORA do not provide
unicode support
http://support.microsoft.com/default.aspx?scid=KB;EN-US;244661

To verify this you can try the following:

Insert into EMP (Empno, Ename) values (1000, '???')

Once you have done this with both the Oracle managed provider and either
sqlplus or msdaora you can get the real values stored in the database like
this:

select dump(ename, 1016) from emp;

DUMP(ENAME,1016)

----------------------------------------------------------------------------
----

Typ=96 Len=10 CharacterSet=UTF8: e0,e8,e9,20,20,20,20,20,20,20     //invalid
utf-8 value  inserted with msdaora

Typ=96 Len=10 CharacterSet=UTF8: c3,a0,c3,a8,c3,a9,20,20,20,20     //???
inserted with Oracle managed provider.

If you have entered invalid utf8 data into your database with a non unicode
provider then you can only read the data out with a non unicode provider.
Switching to ODP.net will not solve your problem.
Hope this helped,

Signature

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 using oracle client. Simply filling a dataset with oracle dataAdapter.
> But in dataset some rows are corrupted. It is replacing last few characters with "\0"
[quoted text clipped - 4 lines]
> Thanks
> Arun
Arun - 20 Mar 2004 17:41 GMT
Thank
Actually i resolved the same problem by installing proper version of oracle client. The problem was that server version was 8.1.7 and i was using client version 8.1.5
I am also going to look at the UTF-8 issue coz i need to see why there are such issues in oracle clients
Thanks again for giving me clue
- Aru
   
    ----- Angel Saenz-Badillos[MS] wrote: ----
   
    Not sure if this applies to you, read on if your Oracle server is set t
    UTF8
   
   
    If you are using UTF8 the problem is not that you are receiving corrupte
    data , the problem is  that you are inserting invalid utf8-data. It i
    fairly simple to insert invalid utf8 data into Oracle since sqlPlus needs t
    be properly configured and older providers like our MSDAORA do not provid
    unicode suppor
    http://support.microsoft.com/default.aspx?scid=KB;EN-US;24466
   
   
    To verify this you can try the following
   
    Insert into EMP (Empno, Ename) values (1000, 'àèé'
   
    Once you have done this with both the Oracle managed provider and eithe
    sqlplus or msdaora you can get the real values stored in the database lik
    this
   
    select dump(ename, 1016) from emp
   
    DUMP(ENAME,1016
   
    ---------------------------------------------------------------------------
    ---
   
    Typ=96 Len=10 CharacterSet=UTF8: e0,e8,e9,20,20,20,20,20,20,20     //invali
    utf-8 value  inserted with msdaor
   
    Typ=96 Len=10 CharacterSet=UTF8: c3,a0,c3,a8,c3,a9,20,20,20,20     //àè
    inserted with Oracle managed provider
   
    If you have entered invalid utf8 data into your database with a non unicod
    provider then you can only read the data out with a non unicode provider
    Switching to ODP.net will not solve your problem
    Hope this helped
   
   
   
   
   
    --
    Angel Saenz-Badillos [MS] Managed Provider
    This posting is provided "AS IS", with no warranties, and confers n
    rights.Please do not send email directly to this alias
    This alias is for newsgroup purposes only
   
    "Arun Rajput" <arunr@winsoftech.com> wrote in messag
    news:81009CAE-FABB-443A-854C-5784CC86B112@microsoft.com..
    > I am using oracle client. Simply filling a dataset with oracl
    dataAdapter
    > But in dataset some rows are corrupted. It is replacing last fe
    characters with "\0
    > The same code works fine if i use OleDbClient. Again the same code work
    fine with Windows2000 serve
    > but gives the same problem on windows2003 server and windows200
    professional editions
    > Help me in finding out the reason adn solving the problem
    >> Thank
    > Aru

Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.