I would like to know the functionalities affected when upgrading from 11g to 12c. For example, using WM_CONCAT in 11g works whereas its incompatible with 12c. What are the other functions / features of 11g not supported in 12c.
The ostensible question is a duplicate of How do you find out about deprecated features in a new release of Oracle?
But the real issue is that WM_CONCAT was never an officially supported function. It doesn't work in earlier versions in Express Edition or in any version where the Workspace Manager component was removed. (This is partially Oracle's fault for waiting 30 years to include an official aggregate function, which forced people to look for alternates, but you still have to pay the price.)
The best solution is to replace WM_CONCAT with LISTAGG. Some people create a custom function named WM_CONCAT but that's probably not a good idea anymore. Oracle 12.2 introduced some nice new features to LISTAGG. You'll want to migrate the code eventually, you might as well do it now.
Related
I'm having trouble getting a overview of the different SQLite libraries to be used with .Net Core and/or Standard.
It seems there are primarily two:
MS: Microsoft.EntityFrameworkCore.Sqlite
sqlite.org: System.Data.SQLite
Is the MS library completely independent of the sqlite.org's libraries? And if so, which one is recommended to use?
I prefer simplicity....it seems I just need two dll's if using sqlite.org.
There are two main SQLite packages for .NET Core/Standard. They are independent and use separate native binaries.
Microsoft.Data.Sqlite
System.Data.SQLite
The former is provided by Microsoft, the latter by SQLite.org. I prefer the Microsoft one but unless you're looking for specific functionality (SQLite.org's supports encryption, Microsoft's supports fts5, etc) either one will probably work fine. They both implement System.Data.Common and so the APIs are almost identical. SQLite.org's can load arbitrary extensions which Microsoft's cannot (though with the latest release it was looking like SQLite.org's couldn't load fts5 which I know worked with previous releases).
I would recommend using Entity Framework Core or another similar third-party database abstraction package unless you absolutely can't use modelling for some reason (EFCore still lets you run the occasional low level query if you need to). It's quicker to develop, and easier to maintain the code.
Microsoft.EntityFrameworkCore.Sqlite provides support for Sqlite in EFCore, using Microsoft.Data.Sqlite. So you would want to use that in this case. The internet says you can also use System.Data.SQLite but it looks like Microsoft.EntityFrameworkCore.Sqlite still tries to load the underlying native binary from Microsoft.Data.Sqlite for some purpose, though it does appear to use System.Data.SQLite for the actual database operations. Not sure exactly what's going on there.
Microsoft.EntityFrameworkCore.Sqlite is for Entity Framework Core ORM is more complete but heavier.
The System.Data.SQLite.Core can use with Dapper ORM SQLite and Dapper but I use the Microsoft.Data.Sqlite.Core with SQLitePCLRaw.bundle_e_sqlite3 and Dapper ORM, I think I had problems with System.Data.SQLite.Core.
Use without is hard and I not recommend.
I am exploring Zumero for a new project and attempting to understand which SQLite it works with. Mono.data.sqlite, System.data.sqlite, Sqlite-net, or Sqlite-net Extensions. I prefer to use the Extensions version however I suspect that it will not work with it or the Sqlite-net because I would be unable to define the tables using the modified Zumero syntax.
I do need to be able to sync multiple smart devices with themselves and with desktop. Any ideas would be helpful.
The current version of our Xamarin component supports (and includes) System.Data.SQLite.
As you suspect, the ORM-ish features of Sqlite-net (and its variants) are not yet supported because Zumero tables need to be created a bit differently than regular tables. We do plan to implement this functionality, but I cannot yet promise a specific availability date.
Currently oracle 9.2i database was migrated to oracle 11.2g, we din't face any issue in migration, but is it possible to make oracle 11.2. to behave backward compatible to oracle 9.2 by modifying system parameter.
You may be able to set the COMPATIBLE parameter to 9.2.0.. That wouldn't make Oracle 11g act completely like 9i, but it would come as close as possible.
Few months back I saw TeraData Express Edition. I have no idea of this beast. I want to know whether it still comes with Express Edition and whether it is a good idea to use this database for Windows based mid-sized apps.
It really depends on what you want to do with this application. From an application perspective, a great weakness of Teradata is that it does not support read committed transaction isolation. If you are attempting to use Teradata as an OLTP database, then you might want to try something else. If you are using it to crunch numbers, then yes, go with it. The one issue is that Teradata Express Edition is not supported that well. Express edition is essentially a snapshot of the database for a certain release. If you find and report a bug, it will take a long time for you to receive a fix. Teradata only releases the express editions once per db release. However (imo), if you buy the real version, you will receive a pretty quick patch which will be rolled into the database software.
I use teradata in my technical support work. I work on database middleware, and Teradata is one of our supported data stores. Define mid-sized? 1-200 transactions per second? I'd stand ANY commonly used database up against that. 10000 tps? Maybe not - maybe you go to the enterprise edition.
I see that the IronRuby team has documented using ActiveRecord in IronRuby with MSSQL - they indicate that some adjustments were required to the adapter.
In interview on 8/11/2009, Jimmy indicates a major drawback of IronRuby:
The main limitation is that IronRuby does not support any
of the C-based Ruby libraries
That indicates that the SQLite-Ruby library that depends on sqlite.dll is probably out of the question. However, in the same interview, he says:
For the database you can use SQLServer Express (which is free),
or any .NET based database, like the recent csharp-sqlite port.
That sounds promising, but I'm a bit overwhelmed on how to begin! How do I go about connecting Ruby's ActiveRecord to csharp-sqlite or where can I look for more guidance?
I found some more write-up on IronRuby and SQLite, but I may need some translation help?
The current solution is to port do_sqlite3 to use all .NET APIs. There are a couple ports
of SQLite to .NET, but none are widely used yet. For 1.0 we will have an ironruby-dbi gem
for using .NET based databases through the Ruby DBI API; so using SQLExpress and
SQLServer will work with an appropriate sqlserver adapter. I'm not sure if there is a
do_sqlserver adapter yet for DataMapper, but we'll leave that to the community for doing.
Does this imply that my technology stack could go something like: ActiveRecord uses SQLiteRuby, SQLiteRuby is tweaked to use ironruby-dbi (should be little change since this is the Ruby DBI API??) then ironruby-dbi has the smarts to work with a .NET based database such as c#sqlite. Of course I will need an adaptor to go between ActiveRecord and SQLiteRuby ... hopefully no change required there?
Sugggestions, Advice, Tips?
you won't be able to use activerecord as is.
You can either wrap the ADO.NET provider for SQLite or you can perhaps help with the ironruby-dbi project and provide a dbi adapter that handles sqlite correctly. From then on adding it to rails is easy as it would require replacing the connection with the dbi connection.
It is a work in progress though and at this moment most efforts have been around sql server, but I too would like to get sqlite working properly on IronRuby with rails.
Another approach would be to change the active record adapter for sqlite to work with the ADO.NET provider (that would probably require the least effort but won't help outside the rails community). I have a pretty good idea of what needs to happen to make it all work but I simply don't have the time to do all of these things, unfortunately.
Have you tried using the SQLite adapter? It might work out-of-the-box.
I haven't tried it personally though.