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]

Reply via email to