I am currently working on an ADO.Net Provider for MaxDB. The project is
registered in the SourceForge.net (see
http://sourceforge.net/projects/maxdbprovider) and the source code is stored
in the subversion system. I did not prepared binary package yet due to lack
of required testing. All features of ADO.NET 1.1 are implemented in the C#
code; moreover it can be compiled for .NET 2.0 and Mono. This provider can
be build as 100% native .Net assembly or as unsafe (in terms of .Net
Framework) wrapper for SQLDBC_C library. I have to say that my
implementation of MaxDB network protocol is based on the GPL source code of
JDBC driver due to following reasons:
1) One has URL http://sapdb.2scale.net/moin.cgi/NetworkProtocol. But it
contains description of the protocol for SAP DB 7.2-7.4, not MaxDB. For
example, authentication scheme for MaxDB 7.6 could by learned from source
code only. Although protocol is not changing dramatically I preferred to
study the latest JDBC sources in order to understand implementation details.
2) It is legal since I keep SAP AG copyright in C# sources.
The very simple benchmark shows that unsafe provider works 2-3 times faster
than 100% managed version and 5-10 times faster than ADO.NET/ODBC provider.
On the other hand native provider looks more stable so I suppose this
version is preferable for such server programs as ASP.NET applications.
The following kind of help and support from MaxDB team and community would
be very useful:
1) I have some protocol-specific question (for example – how can I
determine whether table field is key or serial)
2) I am performing tests for non-SSL MaxDB 7.5/7.6 databases. Could I get
access to the SAP DB 7.3/7.4 and SSL MaxDB 7.6 test environment?
3) The basic test-suite is created. But it is well known that tests should
to be developed independently. Could somebody help me with such stuff? I use
NUnit Framework so it is possible to adapt test cases from the MySQL .Net
Connector GPL sources.
4) This problem is addressed to Mono-gurus. I run tests in the Debian Linux
and the managed version was working less or more stable (up to couple of
test-cases). But the unsafe provider failed dramatically with SIGSEGV
signal. I checked program compiled by Mono 1.1.13 under .Net Framework and
everything worked fine. Thus the Mono P/Invoke mechanism is under suspicion.
Unfortunately I not familiar with Mono tracing tools so could somebody try
to resolve this issue.
To do plans:
1) Implement ADO.NET 2.0 features. But I am not sure that asynchronous
command execution can be added.
2) Testing – see above.
3) Documentation.
4) Installer.
_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today it's FREE!
http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/
--
MaxDB Discussion Mailing List
For list archives: http://lists.mysql.com/maxdb
To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]