Using embedded firebird database with .NET - firebird

I want to use Embedded FireBird with .NET 3.5. I have few queries:
(1) Are there any new developments done on the embedded version by the FireBird community?
(2) Are there any database file repair & optimize (shrink etc.) features in it?
(3) Does it supports Triggers, Foreign Keys, PL/SQL type of things etc.?

(1) Are there any new developments
done on the embedded version by the
FireBird community?
Yes, both the embedded and the client-server version are very active projects.
Using the same embedded version dll for ADO.NET for example, you can use the most recent version of the firebird engine dlls, even if the ADO.NET Firebird provider is not build for that version, but for a previous.
Check the issue tracker here: http://tracker.firebirdsql.org/secure/Dashboard.jspa
(2) Are there any database file repair
& optimize (shrink etc.) features in
it?
Yes, as described here: http://www.firebirdfaq.org/faq324/. You need to install the client-server version of firebird to use GFIX and GBAK from the command line. It is just a few megabytes.
Firebird does not have a "Compacting" feauture to shrink the database. You need to backup and then restore the database to do this. However you can use a firebird database for years without backup/restore (if you are lucky and the hard disk does not die). The only thing that you might need to do is to recalculate all indeces selectivity as described here: http://www.firebirdsql.org/dotnetfirebird/blog/2005/03/improving-query-performance-through.html
(3) Does it supports Triggers, Foreign
Keys, PL/SQL type of things etc.?
Yes. The 2.5 version of the embedded engine also supports accessing the same database file from different proccess at the same time.

Answering your questions:
The Embedded version is like a normal Firebird but encapsulated in a DLL and with some minor limitations. The Firebird Team just released some days ago the 2.5 version of SuperServer, Classic and Embedded flavors. More info at Embedded Firebird Server and Firebird website.
There are tools to repair and optimize databases. Check How to repair a corrupt Firebird database
Firebird is SQL:2003 conformant as stated in Firebird: SQL Conformance. It has triggers, foreiggn keys and stored procedures.
Hope that helps

Related

does Micro Strategy tool support DB Postgres DB?

Currently we are using microstrategy as a reporting tool 11.1 version and using Oracle DB - micro strategy metadata, Statistics , history all installed in Oracle
now we are planning to move Db from Oracle to Postgres. just wanted to check if microstrategy support Potgres DB
Here is the list of certified and supported versions: Repositories
From personal experience I can say PostgreSQL v9,v10 and v11 runs fine as metadata repository. Tested v9-v12 as DWH too, all working without problems.
As far as I remember they didn't deliver the bundled driver in one of the MSTR-versions (2019-something), but that seems to have changed in MSTR-2020 again. Not a showstopper, but something to be aware of.
I am also running PG-11 as repo for History List too, but you definitely won't get help from support for this. OT: They even made me switch from MariaDB to MySQL for a support case (don't really blame them though, it's not certified and that's that).
My last attempt at running Statistics-Repo with PG is a long while ago and it didn't really work out of the box. Don't know what the situation is there. You might have to consider moving to PlatformAnalytics and/or MySQL(/MariaDB) for this too. EM only receives bugfixes from MSTR-2020 onwards, so this seems to be future-proof (EM discontinued from 2020 onwards?)
This mostly reflects our experience, the only certified PG version for MSTR 11.1 is PG-9 and only for the MD-Repo!

Enable stored procedures after database downgrade

I've recently upgraded/downgraded a database as stated on this link:
https://www-304.ibm.com/support/docview.wss?uid=swg21351101
Specifically, it was from db2 9.7.5 (32bit) to 9.7.6 (64bit) to 9.7.0 (32bit)
(license issues, bear with me). Now, after successfully restoring my backup to 9.7.0, I can't run any stored procedures.
On resolving the problem, It says:
Contact your DBAdmins and let them verify if the required stored
procedures are enabled on the DB2 database. The required stored
procedures are: JAVA Database Connectivity (JDBC) Open Database
Connectivity (ODBC)
Then I'm at a loss. How do I enable a procedure?
After upgrading or downgrading your DB2 instance you need to also upgrade or downgrade all databases in that instance. You do that by running the UPGRADE DATABASE command, as explained in the manual, which will create catalog tables, views, and other system objects appropriate for the version and fix pack level.

Firebird upgrade from 2.1.3 to 2.5?

Is there a list anywhere or best practice instructions for update firebird databases from one version to another (in my case 2.1.3 to 2.5.2)?
I have seen backup and restore mentioned. I have updated from 1.5 to 2.1 in the past but that just worked i.e. I just installed the new firebird version, however I aware that this was probably just luck.
Regards
The Firebird 2.5.2 release notes has a section on compatibility issues that you need to be aware of when upgrading. Also the Firebird install directory contains additional info on upgrading in misc/upgrade/metadata/metadata_charset.txt. If your database has the incorrect metadata charset things might break (but AFAIK they would have been broken under Firebird 2.1 as well).
Technically you can upgrade to 2.5 without a backup and restore cycle on your database, but that means the On Disk Structure (ODS) of the database isn't upgraded to ODS 11.2, which could mean that you can't actually use some of the new features (or: performance improvements) introduced with the newer version. This could be worse if you are actually still on ODS 10.1 from Firebird 1.5.

Entity Framework 4.2 Code First DBMS support

What DB Management Systems does EF 4.2 Code First support?
I'd like to use Code First with MySQL and Oracle. Do I have to download extra things?
Thanks!!
It supports the most of the popular DBMS's like Oracle, MySQL, PostgreSQL and SQLite other than SQL Server. Yes you have to download database connectors for them. Here is a good tutorial to get you started.

Sybase ASE ADO.net 2.0 provider?

I'm looking for an ADO.net 2.0 or later provider for Sybase database which seems to be known as Sybase ASE. To clarify, I'm interested in ASE, and not SQL Anywhere. Hopefully the provider will be included with the database, or free.
I can find mention of an ADO.net 1.1 provider; that's not what I want.
I can find mention of ODBC drivers and OLEDB providers; that's not what I want.
I've found the DataDirect ADO.net providers which are paid for; I guess that's the fallback position.
Thanks for your help
Having recently been down this road myself, I can only suggest that you wont find the answer through searching the net. If you are connecting to an ASE server, then you have a customer technical contact. Use that person, asking them to download the earlier mentioned Sybase 15 #ESD10.
From my experience (which I freely admit, was a bad one);
Sybase makes this sort of developer resource available to paying customers only.
The download, once you have it, will include a whole bunch of extras that you wont need. I still think that PowerDesigner is a great utility, but I think that what is included is a trial version, of limited long term value. I believe that what you want from the set is the OpenClient install, selecting the ADO.NET features.
I found the whole experience, from acquiring the developer resources (just identifying the right download was a struggle), to isolating out the two files necessary from the hundreds of installed files, to the fact that the install broke my existing RapidSql and DbArtisan installs, and finally that the current version goes no further than ADO.NET 2 provider support (you wont get EF wiring for example), to be truly frustrating.
No surprise then that I have not been able to find much support for ASE using nHibernate or subsonic either.
This question is fairly old but it seems to have gotten easier to get the ADO Connector.
Download the "Get a Free "Developer" Edition" from
http://scn.sap.com/community/developer-center/oltp-db
Choose Custom Install when given the option.
Only install the .Net ADO package from the custom install.
Reference the Sybase.AdoNet4.AseClient.dll in your solution from where the install put the files.
You should then be able perform queries, updates etc. in .NET by following the directions from here:
http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.help.sdk_12.5.1.adonet/html/adonet/DAFJEFIF.htm
As an alternative to the SAP/Sybase driver, we developed our own ADO.NET Core driver for ASE:
https://github.com/DataAction/AdoNetCore.AseClient
.NET Core was a key technology for us - in particular for AWS Lambda - and there is still no ADO.NET Core driver available from SAP/Sybase.
Our driver supports most of the SAP/Sybase ADO.NET features, aims to be a drop in replacement to the SAP/Sybase one for easy transition, and supports all of the .NET Frameworks you would care about.
You can get it on Nuget:
https://www.nuget.org/packages/AdoNetCore.AseClient
Sybase 15 #ESD10 has support for ADO.NET 2.0, according to this link at Sybase:
http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc20155.1500/html/newfesd/CBHJAABF.htm
New Features Open Server 15.0 and SDK 15.0 for Microsoft Windows, Linux, UNIX, and Mac OS X
ADO.NET 2.0 support
ASE ADO.NET Data Provider 2.0 is shipped with this SDK release. The ADO.NET 2.0 features supported in this version are:
* Provider factories
* Provider statistics
* Bulk update
* Bulk copy
* Asynchronous commands
* Extended pooling support to clear pools
* Common base classes
* Database metadata
For more information on the supported ADO.NET 2.0 features, see What’s New in ADO.NET 2.0.
From the sybase website:
Sybase support for ADO.NET, OLE DB, and ODBC
Adaptive Server version 15.0 contains new ODBC and OLE DB drivers developed by Sybase. The third-party rebranded ODBC and OLE DB Driver Kits included with previous versions are no longer shipped.
The retired ODBC Driver Kit was installed in %SYBASE%\ODBC, and registered with the ODBC Driver Manager as “Sybase ASE ODBC Driver”. The new ASE ODBC Driver by Sybase is installed in %SYBASE%\DataAccess\ODBC, and registered as “Adaptive Server Enterprise”. The version shipping with Adaptive Server and SDK 15.0 is version 15.0.0.50.
The retired OLE DB Driver Kit was installed in %SYBASE%\OLEDB, and used the provider short name of “Sybase.ASEOLEDBProvider” and the long name of “Sybase ASE OLE DB Provider”. The new ASE OLE DB Provider by Sybase is installed in %SYBASE%\DataAccess\OLEDB, and uses provider short name “ASEOLEDB”. The version shipping with SDK 15.0 is version 15.0.0.51.
Sybase recommends that you start your migration process the new ODBC and OLE DB drivers as soon as possible. New features introduced in Adaptive Server 15.0 are supported only by the new drivers.
See “New Features for OpenServer 15.0 and SDK 15.0 for Windows, Linux and UNIX”, for instructions on migrating to the new drivers.