New Data-Access-Layer Nearly Completed...
MYSHelper for the MySQL database engine (community edition) is now in final testing and is currently being documented.
This may come as somewhat of a surprise for those of you who have been coming back to this site regularly since I had earlier announced work on a data-access-layer for the Scimore database. I had hoped that this small-footprint database engine would have been a popular addition for those developers wanting to work with a light but powerful alternative to the major database engines.
However, though this database may have quite a bit of punch, the provided database manager proved more of a hindrance than an aid in managing the engine with its many idiosyncrasies and bugs. Writing to the authors of this database with concerns about the weaknesses of their manager I received no response, which was most unfortunate. As a result, I decided to scratch that project and continue with a new engine instead as soon as time allowed.
The result is *MYSHelper" for MySQL. The same package is currently being prepared in similar fashion to the existing packages on this site, which includes complete documentation on how to get up and running with the data-access-layer as well as with MySQL itself.
I am hoping that in the next 6 weeks or so to release this new component. However, since I am involved with multiple projects currently please allow for a little leeway on this...
Why use a data-access-layer instead of one of the fancy ORMs now available....
One may ask why use a data-access-layer instead of the new ORM offerings such as Microsoft's Entity Framework or the popular NHibernate solution when the latter tools provide so many features. There are several reasons for this, which today with all the hype and hoopla surrounding the newer technologies has easily been lost in the din of all this promotion.
- Data Access Layers are simply far more efficient than their ORM counterparts and provide the most efficient data access capabilities that can be obtained other than using lower-level libraries that provide similar functionality.
- Data Access Layers are far easier to learn than ORMs and provide all of the basic functionality required for the majority of applications needed by any organization, whether they be large or small.
- Data Access Layers help enforce proper compartmentalization of where actual processing of data should occur, which is at the database engine server if one follows the accepted practice of incorporating all data processing within database stored-procdures and functions. Though this can also be done with an ORM, doing so eliminates most requirements for using one since it would make no sense to use an ORM to simply initiate procedure and function calls to a database server. All of the capabilities of an ORM reside within the framework itself.
- ORMs move the majority of database processing to the middle-tier, which is not the correct area where such processing should be performed. Though more and more n-tiered applications, especially web-based ones, are relying on application servers to support increased loads on the middle-tiers as result of such innovations as ORMs, it is such decisions that are causing increased performance problems with this type of development. There is a reason why we call it "distributed computing" and it is not because we use a browser against a remote server but instead how well we design the concurrency capabilities of any application. Separating the data access processing is one critical component that should have its own server for its operations.
>>>>>>>>>Thank you for considering one of the data-access-layer(DAL) tools below. This site's goal is to provide data-access-layer source-code for all of the major and freely available database engines whether they be open-source (ie: PostgreSQL) or commercial freeware (ie: Oracle 10g XE). All the download packages come with complete documentation (compiled help file) to get you up and running quickly with your software. Additional documentation relevant to each database engine is also included where applicable.
Notes...There is a separate download available for each database. You may select any and all downloads for your use.
Currently, there are
five release packages available...
- SQLCEHelper - SQL Server Compact Edition Databases
- ORAHelper - Oracle 10g\11g Databases
- SQLHelper - SQL Server Databases
- MDBHelper - MDB\Access Databases
- PGSHelper - PostgreSQL Databases
All source-code and project-solutions are released under the very liberal MIT license. Please note however, there are some minor exclusions to this license, which are noted in the documentation that accompanies each download package.
If you need to handle binary parameter data with the either "SQLHelper" or "ORAHelper" (version 2.0) see the document in the downloads section entitled:
Updating “SQLHELPER” or “ORAHELPER” To Handle Binary Uploads
>>>
Contact Black Falcon SoftwareIf you download a module and you have any issues, comments, suggestions or even a complement, please send an email to Black Falcon Software at
blackfalconsoftware@ix.netcom.com. Thank you...