File-based database engine - windows

I'm looking for a relational database engine that complies with the following requirements:
Databases are simple files like MSAccess databases. You can copy, delete, send them easily just with Windows Explorer. There's no management tool required.
x86 and x64 database providers can coexist on the same machine. MSAccess meets this criterion if you use the Jet 4.0 database format. Then you can use Windows' built-in Jet 4.0 (Microsoft.Jet.OLEDB.4.0) for 32 bit access and Access 2010 Database Engine x64 (Microsoft.ACE.OLEDB.12.0) for 64 bit access. But if Office 2010 is installed in its 32 bit edition, Microsoft prevents you from installing ADE x64. Since many customers actually need Office 2010 x86, switching to the x64 edition is not an option.
Database files can reside on a network share. Concurrent access is not required, but the engine must be able to open databases that are not local.
Could SQL Server 2012 Express LocalDB work out?
Access (Jet 4.0) databases comply with most scenarios, but the aforementioned limitation (2.) stands. However, if Microsoft released Access 2013 Database Engine x64 as a standalone redistributable in future, this might solve this issue. Since Office 2013 introduced the Microsoft.ACE.OLEDB.15.0 provider, evidence suggests that Office 2010 x86 and ADE 2013 x64 actually can coexist. Does anyone know if this will eventually happen?

Have you checked out SQLite? That may be worh a try.

Related

SQL Server 2012 enterprise installation for datawarehouse

I am taking a course related to datawarehousing on SQL Server (by Martin Guidry at lynda.com). He is using SQL Server 2012 Enterprise edition for the demo.
Since this edition is supported only on servers like Microsoft SQL Server 2008, he suggests that any edition of SQL Server with database engine and SSIS can serve the purpose. I have compared the features supported by all editions at the link below, but I am still not sure which one to install..
link-https://msdn.microsoft.com/en-us/library/cc645993.aspx#Data_warehouse
If anyone of you have worked on D/W, please suggest which edition to install and from where to download for learning purpose..
Before beginning, you should check that minimum hardware and software requirements to install and run SQL Server 2012 have been met. For operating system and hardware requirements, visit: http://msdn.microsoft.com/en-us/library/ms143506.aspx.
This will install the Database Engine Services, Analysis Services, Reporting Services, and a number of shared features including SQL Server Books Online. Since your taking a course and gaining all the knowledge, i would recommend (if you have the space) to install it all because eventually you will hit on every feature if not in this course, but future courses.
Good Luck!!

Can I use 32 bit Oracle Developer Tools with x64 ODAC in VS2010?

From the Oracle website here:
http://www.oracle.com/technetwork/database/windows/downloads/index-090165.html
This is for their latest Oracle Data Access Components, 64-bit ODAC 11.2 Release 4 (11.2.0.3.0) for Windows x64. I want to use the developer tools (ODT) but they aren't available in 64 bit (probably because VS2010 is still 32-bit). From the site:
Important: The 32-bit Oracle Developer Tools for Visual Studio download is required for Entity Framework design-time features. The above download fully supports Entity Framework deployment, but does not contain design-time tools.
I don't use EF (I use the Mindscape LightSpeed product as it's usually 3 or 4 years ahead of EF) but the principle is the same - VS2010 and LightSpeed are 32-bit apps and can't load/use x64 libs.
I would like to use the 32-bit tools (ODT) to develop my app and deploy the app using the x64 ODAC. Has anyone done this? Can it be done? Anybody?
If it matters, this is for a WCF service running on a virtual Windows Server 2008 R2 machine. What I have done semi-successfully is force everybody to 32-bit operation, but that seems a little silly if 64 bit is supported as they claim it is.
Thanks in advance,
Dave
What the Oracle site mentions is that they have provided the ODAC components for both 32 and 64 bit, but have the Visual Studio design tools for only 32 bit.
Since you are not using EF, I am guessing you are interested in using ODP.NET components with LightSpeed.
For this scenario, you could go ahead by installing both 64 and 32 bit of ODP.NET on the development system and allowing the application to run in native mode on the deployment systems (the application will select the 64 or 32 bit ODP component based on the platform it is running on).
Check RealFiction blog and Semaphoremd blog for detail about installing the client tools for both 64 and 32 bit in parallel. Basically proper way to go about installing them in separate folders and creating symbolic links to the appropriate folder from %windir%\system32 and %windir%\SysWOW64. Thus allowing the WOW64 to take care of allocating the proper components based on the running application.

Everything is 64-bit yet Visual Studio still shows Microsoft.ACE.OLEDB.12.0 not registered error

Setup:
Windows 7 64-bit
Office 2010 Professional 64-bit
Visual Studio 2010 Professional
Using Connection string
Provider=Microsoft.ACE.OLEDB.12.0;DataSource=c:\\testdb.accb;
I get the following error:
'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine
The provider/driver is working fine within Office 2010.
I can link to the database from inside Excel and the connection properties shows
Provider=Microsoft.ACE.OLEDB.12.0;
User ID=Admin;
Data Source=C:\TestDB.accdb;
Mode=Share Deny Write;
ExtendedProperties="";
Jet OLEDB:System database="";
Jet OLEDB:RegistryPath="";
Jet OLEDB:Engine Type=6;
Jet OLEDB:Database Locking Mode=0;
Jet OLEDB:Global Partial Bulk Ops=2;
Jet OLEDB:Global Bulk Transactions=1;
Jet OLEDB:New Database Password="";
Jet OLEDB:CreateSystem Database=False;
Jet OLEDB:Encrypt Database=False;
Jet OLEDB:Don't Copy Locale on Compact=False;
Jet OLEDB:Compact Without Replica Repair=False;
Jet OLEDB:SFP=False;Jet OLEDB:Support Complex Data=False;
Jet OLEDB:Bypass UserInfo Validation=False
I have been Googling this for the last 3 days and can get nowhere, most of the solutions out there are based on the problem arising when trying to connect to Office 2007 or Office 2010 32 bit, but everything on my system is 64-bit.
Even though I thought none of them relevant, I did try the usual recommended solutions of installing AccessDatabaseEngine_x64 and setting my VS project build to x86 instead of Any CPU but none of it made any difference.
Anyone know how I can resolve this?
Eventually found an answer to this here, I had to install the 2007 Office System Driver: Data Connectivity Components as well as Office 2010; I haven't a clue why I should have to that but it works!

Visual Studio 2008/2010 & SQL Server 2008 on Windows 7 Home Premium

Are there any limitations with respect to developing ASP.NET and WPF apps using VS 2008/2010 and SQL Server 2008 on Windows 7 Home Premium?
I know you can run IIS 7.5 on Home Premium. I Googled and Binged on Home Premium and VS/SQL Server and couldn't find much. It doesn't look like the features missing from Home Premium, domain joining, xp mode, etc... shouldn't prevent one from running and developing in VS/SQL Server.
Update
I did discover one limitation w/IIS 7.5 and it applies to all versions of Windows 7 I think. You can't create your own self signed SSL certificate specifying a name other than the machine name. You're stuck with your machine name which isn't that big a deal, but it is a change from previous versions.
Update II
You can't do remote debugging on Home Premium. msvsmon won't run at all. I can't even get it to do remote debugging natively.
Visual studio will run fine. You will be "limited" to either SQL Server Express, or SQL Server Developer edition as the mssql installer checks the OS version and will refuse to install the higher end editions on desktop OSes. Note that developer edition is the exact same as the higher end editions, except with a different license, you can only use it for development, not to run real databases.
Yes, you can, and you won't have any trouble with it.
In general, application compatibility is not affected by the edition (not version) of Windows.
I would consider what the target infrastructure (Windows/IIS, .net, SQL Server etc versions) would be if you want to deploy it...

Installing Team Foundation Server

What are the best practices in setting up a new instance of TFS 2008 Workgroup edition?
Specifically, the constraints are as follows:
Must install on an existing Windows Server 2008 64 bit
TFS application layer is 32 bit only
Should I install SQL Server 2008, Sharepoint and the app layer in a virtual instance of Windows Server 2008 or 2003(I am already running Hyper-V) or split the layers with a database on the host OS and the app layer in a virtual machine?
Edit: Apparently, splitting the layers is not recommended
This is my recipe for installing TFS 2008 SP1.
There is no domain controller in this scenario, we are only a couple of users. If I was to do it again, I would consider changing our environement to use a active directory domain.
Host Server running Windows Server 2008 with 8GB RAM and quad processor
Fresh install of Windows Server 2008 32bit in a VM under Hyper-V
Install Application Server role with IIS
Install SQL Server 2008 Standard edition
Use a user account for Reporting Services and Analysis Services
Create a slipstreamed image of TFS 2008 with SP1 and install TFS
Install VSTS 2008
Install Team System Explorer
Install VSTS 2008 SP1
Install TFS Web Access Power tool
After installing everything, reports were not generated. Found this forum post that helped resolve the problem.
Open p://localhost:8080/Warehouse/v1.0/warehousecontroller.asmx
Run the webservice (see above link for details), it will take a little while, the tfsWarehouse will be rebuilt
It is very important to do things in order, download the installation guide and follow it to the letter. I forgot to install the Team System Explorer until after installing SP1 and ventured into all sorts of problems. Installing SP1 once more fixed that.
One critical thing you has to keep in mind about TFS, is that it likes to have the machine all to it self. So if you have to create a separate instance on Hyper-V do it using the proven Windows Server 2003 platform with SQL Server 2005.
I am sure Microsoft has done a great job getting it to work under Windows Server 2008 and SQL Server 2008, however you don't get any additional features with this newer install and it is currently unproven in the wild.
So my recommendation is to stick with what is known until the next release of TFS comes out.
Also splitting the layers is definitely not recommended, especially in the workgroup edition where you will only be allowed to have 5 licensed users. Those 5 users will never exceed the server's needs. Also my recommendation is to not update Sharepoint if you don't need to. In my environment, we don't really use Sharepoint all that much, so I left it alone. Sharepoint is usually, in my experience, where most of the problems come from with TFS.
I just upgraded our team to TFS 2008, from TFS 2005. The hardest part was upgrading SharePoint 2.0 to 3.0, so I would make sure to do that first, if you have not already installed TFS 2008. We had a couple of other difficulties, but they were all either related to the SharePoint upgrade, or to the fact that we were using an aftermarket Policy package - Scrum for TeamSystem. We are on SQL Server 2005, so I cannot address SQL Server 2008. As for splitting the layers, we did not do this either, as we are running on Windows Server 2003 and everything ran under the host OS.
Splitting the layers is only needed for more than 450 users.
I would also recommend having the Build Server on a completely seperate machine. Building is very file system intensive. SQL Server performs best when it has complete control of a file system - so having build and TFS on the same machine may create performance issues while builds are executing.
Perhaps this can be alleviated with proper tuning and seperate physical drives - but I'd think in the long run it would be a lot simpler to just either use some old hardware - or spin up a small virtual machine on a seperate host for your builds

Resources