[Mono-dev] System.Data.OracleClient in Mono

Leszek Ciesielski skolima at gmail.com
Thu Oct 19 06:39:58 EDT 2006


On 10/17/06, Leszek Ciesielski <skolima at gmail.com> wrote:
> On 10/10/06, Daniel Morgan <monodanmorg at yahoo.com> wrote:
> > Hey Leszek,
> >
> > Thanks for responding.
> >
> > >
> > > On 10/4/06, Daniel Morgan <monodanmorg at yahoo.com>
> > > wrote:
> > > > Do you know parsers like yacc, jay, or bison?
> > >
> > > I had some basic experience with bison ...,
> > > and with javacc
> > >
> >
> > Main reason I was asking because I do not know jay nor
> > other compiler-compilers.  Any ideas where to start?
> >
> > >
> > > You are suggesting a load of work for me, aren't
> > > you? :-)
> >
> > Only because I thought you might be interested. :-)
> >
> > It is time consuming to maintain.  Mainly, it takes
> > time to figure out OCI and marhalling between OCI and
> > the managed world.
> >
> > > > Also, there are shortcomings in
> > > > System.Data.OracleClient that have been addressed
> > > in
> > > > Oracle's own provider, such as, Changing of
> > > passwords.
> > > >
> > > > Would you be interested in creating such a
> > > provider
> > > > for Mono?
> > > Tricky question. I came here mainly because there
> > > were OracleClient I
> > > could not get around in my work, and noone was even
> > > checking the
> > > patches I submitted. I can quite easily find time to
> > > write a test case
> > > / regression for a bug or examine a patch. From time
> > > to time I can
> > > dwell into one to find a solution on my own. But I
> > > don't have enough
> > > spare time to work on extending OC too much.
> >
> > I guess that was my fault. I have been maintaining it
> > every now and then.  The hard part is getting mono
> > built on Windows.  On recent distribution of Linux
> > with Gnome, ir's easy.  However, Windows is the best
> > place to test it because you can also use your same
> > test on .net's csc too for comparison.
> >
> > > >
> > > > Is there any missing features in
> > > > System.Data.OracleClient you would like
> > > implemented?
> > >
> > > I'd like to get 1.1 / 2.0 compatibily, for a start.
> > > It seems to me
> > > that mono 2.0 OracleClient is not compatible with MS
> > > even on interface
> > > / inheritance level, not to mention funcionality.
> > > Also getting the
> > > examples from msdn to run correctly (something like
> > > this recently
> > > popped on the list) would be good. More exotic
> > > functions are... well,
> > > exotic.
> >
> > Yeah, I should get around to implementing those bits.
> > I have been more concerned with 1.1 compatibility.
> >
> > >
> > > My nearest plans are to handle the unicode string
> > > problem, then get
> > > the test from Mainsoft integrated into normal test
> > > execution...
> > >
> >
> > Yeah, I haven't done much with unicode testing because
> > I have no idea how to test unicode functionality.
>
> Things no longer look so bright. I launched Mainsoft test suite, and
> now I know why you were asking about parsers... Tests that do not
> segfault mostly fail because of data-description-mining lacks in
> OracleClient. Unicode is a bitch - strings get translated first
> between mono and binaries, then upon entering OCI, then between OCI
> and server, then on server before being stored in database. And most
> segfaults happen with OCI character-translation routines - somewhere
> there is a huge bug lurking in the OCI marshaing code..
>
> Could anyone advance in Marshaling take a look into OracleClient tests
> marked as NotWorking?

My oh my... the segfault were my fault :-| There are still problems,
but now most of the tests run (although that does not mean they
pass.). There are 164 test cases, 160 tests run without
hanging/segfaulting, out of that 34 fail. As Konstantin Triger from
Mainsoft wrote, all of those pass with .Net and with the TARGET_JVM
version.



More information about the Mono-devel-list mailing list