Need an overview of non-enterprise databases for .NET - sql

For smaller websites which are view-only or require light online-editing, SQL Server 2008, Oracle, and MySQL are overkill.
In the PHP world, I used SQLite quite a bit which is a e.g. 100K file holding hundreds of records which you speak to with standard SQL.
In the .NET world, what options do we have, I've seen:
SQL Server 2008 Express (free but the files are bloated 2-10MB with just a couple records)
SQL Server Compact 3.5 (seems interesting)
Vista.db (not free?)
What about SQLite with .NET, have any of you had success with that?
Any other small, no-nonsense, SQL databases for .NET there?
I would particularly be interested in something like SQLite but that supports CLR type system and LINQ.

Maybe this Wikipedia RDBMS comparison might help you in making your choice.
SQLite works just fine with .NET.
I second Edoode's suggestion of Firebird - that works great for me.
Be very careful when using SQL Server CE in multi-threaded applications.

I had to use Interbase at work, so I came to Firebird.
First I had to use it, now I love it.
There's a .NET Data Provider (ADO, DDEX).
U can even use it without setting up a server, like you do with SQLite (direct access to the database file).
It's actively developed and "open source".

I don't think there is any database that supports the CLR type system, even SQL server uses their own types.
Besides the already mentioned alternatives there is also Firebird

You can also have a look at db4o which is not SQL but a fully managed object store for java and .NET.

Related

Replacing SQL Anywhere DB in PowerBuilder Legacy System

I have inherited a legacy system written in PowerBuilder which connects to an SQL Anywhere 5.5 database via ODBC. The Sybase drivers are not 64-Bit compatible so this system is throwing errors and there are no updated drivers available. I do not currently have the budget to update the database to a current version of SQL Anywhere (which requires a /seat license) and I'm under the gun to get the system working on a 64-Bit PC.
Advice, please! Is MS SQL Express a good option?
Thanks in advance.
PowerBuilder is a 32-bit application even when run on a 64-bit OS. You will need the 32-bit version of whatever DBMS you decide on. I think that SQL Anywhere might be 16-bit, it is that old.
I think you'll find MS SQL Express very similar. One main issue is the default database owner. SQL Anywhere is normally dba while SQL Express is dbo.
SQL Server Express is a reasonable choice for what I can get from your described needs. IMHO, any RDBMS supporting 64-bit might be a reasonable choice as long as you take over the data migration toward this RDBMS.
The most crucial part, according to me, is the migration from a RDBMS to another. You'll have to make sure to replicate every exact details (tables, views, stored procedures, functions, etc.)
Another fact that makes me believe that SQL Server Express is a good choice is that they both are TSQL. A historic fact is that Microsoft has bought Sybase ASE to start their own RDBMS now known as SQL Server.
PowerBuilder shall see no difference between the RDBMS since it accesses the underlying database through ODBC. All you need is make sure your workstation has ODBC supporting 64-bit.

Database that requires no extra installation

I have developed C# application that stores and retrieves data from SQL database.
But when my client had to deploy the application he needed to install sql server express 2008 ,that is its requirement.Now he wants that software to install with no extra installing add-on.so i except for dot net framework there should not be anything extra to install.
i have seen some databases like SQL compact,SQL lite ,SQL CE and blackfishSQL but i really donot know that do they require extra install and what effort do i have to make to change my whole code according to selected database
I looked at this
Please help me
I suggest going with SQLite or Server Compact (SQL CE). They don't require extra install.
Another option is to include SQL Server Express in your setup project, so it will be installed automatically if needed.
SQLite has a reputation of being fast and robust.
However, if you like Microsoft products and you already have everything working in SQL Express, then SQL CE might be a better choice from development tools support point of view.
SQLite is by far the most popular option usually considered for such scenarios. It does not require any extra installation..the DB interface itself is available in a dll and all u need to interact with your database is the interface dll. As to the extent of efforts that would be required to port your application, it would depend on the extent to which you have used Sql Server specific SQL constructs..the closer your code is to ANSI SQL, the easier it would be to port it to any other ANSI SQL compliant database like SQLite. Usually the task becomes much easier if you have used ORM technologies in your application, since they provide an additional layer of abstraction between you client code and the database
I'm sure the original poster no longer needs this information anymore - but for the sake of others googling the same issue - let me add a bit of my own.
I'm only recently in the process of converting a C# program from using SQL Express to SQL Compact - and its relatively easy when compared to converting to a SQLite project. The code is extremely simple. Where in SQL Express you might use SqlCommand, this simply becomes SqlCeCommand. Very easy to convert from one to the other.

Migrating a database from MS SQL to MySql - How time consuming / difficult is it?

A client wants a database converting from MS SQL to MySql.
Personally I wouldn't do this, I prefer MS SQL for larger databases and like the tools available when working with MSSQL.
However I do use MySql on smaller projects. I've never moved a database from one to the other, or made much use of sprocs when using mysql.
Is there a lot of work involved in rewriting the sprocs, considering I have no prior knowledge of the ms sql database itself, so will need to first gain an understanding of what each sproc does.
This isn't a discussion on which to use as that's already been decided by the client for a few reasons.
have you seen this?
I haven't done this before, but I can only assure you mysql is good for big projects, too.

Good test database on Windows to play around with data retrieval operations in SQL?

I need a test database to practice joins and other kinds of data retrieval operations in SQL.
What's a good free test database and RDBMS system to use on Windows?
Every major RDBMS provider has some free edition. Those are full versions limited by database size and maximum memory usage.
Top players:
Sql Server Express
Oracle Express
IBM DB2 Express-C
Then, there is number of open source products:
PostgreSQL
Firebird
MySQL
SQLite (not really a RDBMS, but understands SQL and it can be used for your purposes. Also, very small and compact)
If this is not enough, check this Wikipedia article: Comparison of relational database management systems.
There's more than 50 RDBMS's listed and you'll probably find something that suits your needs.
SQL Server Express for one.
Sample databases (AdventureWorks) can be downloaded here.
You can use this link. The adventure works database is used as an example for numerous online and offline resources.
After which, download the SMSS Express to work on it.
If it's just for practising SQL you could install Access assuming you have an MS Office CD that includes it already.
Otherwise MySQL or SQL Server Express are probably your best bets.
I would recommend MySQL over SQL Server Express if your purpose is to practice SQL. The command line interface is all you need.
You can get online practice with verifying your queries on SQL Exercises

Sybase Development IDE

Is there a Toad type application for Sybase? I can't seem to find a single one! I've tried using VS 2008 but can't see the sproc source.
Am assuming Sybase ASE.
Ships with Sybase Central and SQL Advantage as part of the client tools. Sybase Central lets you manage and create tables, views, sprocs etc. SQL Advantage lets you run SQL...
Sybase Workspace is a new tool for ASE, I've never tried it. http://www.sybase.com/products/modelingdevelopment/workspace
ASE ISQL is a free tool that is also useful for running sql, but is less useful for modifiying stored procedures etc. (More of a SQL Advantage replacement). http://code.google.com/p/aseisql/
If you have money to spend then there's also Embarcadero's DBArtisan. http://www.embarcadero.com/products/dbartisan. I've used this and it's pretty good, although their support for MSSQL and Oracle is better than the Sybase support.
RazorSQL has very good Sybase support. Edit / view stored procedures, etc.
SqlDbx at http://www.sqldbx.com/. Very light-weight software promising a lot of editor features. This requires Sybase Open Client to be installed on your workstation.
But I'll recommend using Oracle SQL Developer. I'm presently working through a JDBC connection to a Sybase ASE database using this tool. This seems to be Eclipse-based, but is quite responsive and allows you to view source code for functions and procs too.
Looks like Quest now offers a Sybase version of Toad.
DBeaver is open-source and appears to work fine.
Try Embarcadero Rapid SQL. I recommend you the 7.4 version over 7.6 because it is more stable. Embarcadero Rapid SQL XE is the recent version.
Embarcadero Rapid SQL XE enables
developers and DBAs to produce high
performing SQL code at lightening
speeds. With support for all major
database platforms from a single
interface, teams can standardize on
one powerful heterogeneous SQL IDE
tool.
Squirrel SQL is open source and works pretty well
I'm using CAST SQL-Builder from CAST Software, the debugger in this tool saved me a lot of time.