Friday, 2 August 2013

SQL SERVER – Error 7308: MS Jet OLEDB 4.0 cannot be used for distributed queries because the provider is configured to run in single-threaded apartment mode.



FIX suggestion (which works for me), by Mitch Stokely:

1. On 64-bit servers and boxes, you need to first UNINSTALL all 32-bit Microsoft Office applications and instances (Access 2007 install, Office 10 32-bit, etc.). If you dont, you cannot install the new 64-bit Microsoft Access Database Engine 2010 Redistributable components. Yes, its a headache but the only way I found to install the new replacements for the JET engine components that need to run on 64-bit machines.


2. Download and install the new component from Microsoft:
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=c06b8369-60dd-4b64-a44b-84b371ede16d&displaylang=en
* This will install the access and other engines you need to set up linked servers, OPENROWSET excel files, etc.

3. Open up SQL Server and run the following:

sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'Ad Hoc Distributed Queries', 1;
GO
RECONFIGURE;
GO

EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1
GO
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1
GO

* This sets the parameters needed to access and run queries related to the components. 

4. Now, if you are running OPENROWSET calls you need to abandon calls made using the old JET parameters and use the new calls as follows:

(*Example, importing an EXCEL file directly into SQL):

DONT DO THIS….

SELECT * FROM OPENROWSET(‘Microsoft.Jet.OLEDB.4.0′,’Excel 8.0;HDR=YES;Database=c:\PATH_TO_YOUR_EXEXCEL_FILE.xls’,'select * from [sheet1$]‘)

USE THIS INSTEAD…

SELECT * FROM OPENROWSET(‘Microsoft.ACE.OLEDB.12.0′, ‘Excel 12.0;Database=c:\PATH_TO_YOUR_EXEXCEL_FILE.xls’,'select * from [sheet1$]‘)

*At this point resolved two SQL issues and ran perfectly

5. Now for the fun part…..find all your Office Disks and reinstall Office and/or applications needed back onto the machine. You can install the 64- bit version of Office 10 by going onto the disk and going into the 64-bit folder and running it but beware as in some cases some third party apps dont interface yet with that version of Office.

Hope that helps!

Mitch Stokely – Texas
Chief Internet Architect

See original post on Pinal Dave's blog here >>

SSMSE Error: Package 'Microsoft SQL Management Studio Package' failed to load



On Windows 8 (64-bit), after installing SQL Server 2008 R2 SP2 and installing SQL Server Management Studio Express, I could not get SSMSE to start up successfully - the IDE would open up with the following pop-up dialog error:


and then shut down when I click 'OK'


After scouring the web for a solution and unsuccessfully trying various suggestions, I eventually got to here: Duncan Smart's weblog; I was astounded when his very simple solution fixed my problem.

Fix: is to remove or rename this Registry subkey and then restart SSMSE:
HKEY_CURRENT_USER\Software\Microsoft\Microsoft SQL Server\100\Tools

For example rename the sub-key '100\Tools' to '100\Tools-old' or any other name.
e.g.
HKEY_CURRENT_USER\Software\Microsoft\Microsoft SQL Server\100\Tools-old

Then re-open SSMSE and it will re-create this sub key and will start up successfully (after it displays a pop-up message about 'initializing the environment for the first time' or something along those lines).  

Wow!