Solved

MS SQL OPENDATASOURCE

Posted on 2013-05-30
12
600 Views
Last Modified: 2013-06-03
Using OPENDATASOURCE Microsoft.ACE.OLEDB.12.0  and works just fine if used in Management studio on the SQL server but if from web page or via another Management Studio get the below errors;
Cannot initialize the data source object of OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)".
OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)" returned message "Unspecified error".
OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)" returned message "Unspecified error".      

If I add "Integrated Security=SSPI;" then the last two errors go away but get #1 on all three (MGT Studio x 2 and Web page)
0
Comment
Question by:crundle32
  • 7
  • 4
12 Comments
 
LVL 20

Expert Comment

by:Marten Rune
ID: 39210142
Have you configured the server for adHoq Querys.
It says error linked server, but you are using openrowset, look at:
http://msdn.microsoft.com/en-us/library/ms187569.aspx

If you prefere to use linked server, look at my example in:
http://www.experts-exchange.com/Microsoft/Development/MS-SQL-Server/SQL_Server_2008/Q_27955235.html

Regards Marten
0
 

Author Comment

by:crundle32
ID: 39210165
Ad Hoc is done, if i run the SQL directly on the machine it works fine, run it awaywhere else I get the error.

It's reading an excell work sheet "\\Storage\ExcelFiles\Filename.xlsx, with permissions set "everyone" "Full Control"
0
 
LVL 20

Expert Comment

by:Marten Rune
ID: 39210288
Are the different servers the same
i e SQL Version, AND are the OS versions the same, i e 32 or 64 bit.

The share is it a Windows machine, or a nas/san thing

Regards Marten
0
 
LVL 46

Expert Comment

by:Vitor Montalvão
ID: 39211235
How you configured the linked server?
The 32bit or 64bit question is also pertinent.
0
 

Author Comment

by:crundle32
ID: 39212314
I have tried both via network path and local on SQL server, please remember it works when I log directly into the server mgt studio. I created a xp_cmdshell in SP and ran from the web page worked fine to get the Dir.

All systems are 64 bit
0
 
LVL 20

Expert Comment

by:Marten Rune
ID: 39212453
Check what account runs the sql server service, and the agent service.
If it's local system, try altering to network service. Or even better a domain account.

If it still wont work with a domain account, then run ssms as another user, use the sql service/agent service domain account. Now with this credential run the cmdshell against the network share, i'm betting you'll get some error thats understandable and will lead you to a solution.

Regards Marten
0
PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

 
LVL 20

Expert Comment

by:Marten Rune
ID: 39212455
Oh yes, remember to alter the accounts in the sql server configuration manager.

Regards Marten
0
 

Author Comment

by:crundle32
ID: 39212825
Pls explain more on how to set the account used. From web page I had to add domain\computername for access which I further confirmed by creating a script that logs user_name.
0
 
LVL 20

Expert Comment

by:Marten Rune
ID: 39213194
SQL Server Configuration Manager is used to change the account. This is because the ACL for the filesystem are altered.
The account needs to exist, should be a normal service account created in the AD.
This account should have read permission on the sharing and ACL on the Excel file.

What are your specific question:
How to create a serviceaccount in the AD?
How to change using SSCM?
Something else?

Im not talking about a webserver, I'm referencing the SQL instance host.

Regards Marten
0
 

Author Comment

by:crundle32
ID: 39214951
I guess it would be "Change SSCM", I know how to create in AD, I understand creating users in the Security>Logins, but how to get the t-sql to run and a specific user as I believe the webpage is calling network service  which is where the permission is causing the error. Hence once I login directly as admin it works.
0
 
LVL 20

Accepted Solution

by:
Marten Rune earned 500 total points
ID: 39215375
Use:  Start/all programs/your flavour of SQL/configuration Tools/SQL Server Configuraration Manager.
Click on it to start it.
find your SQL Server service (instance) Icon, right right-click and choose properties, choose log on tab and enter your domain account, optional network service (then it will authenticate as the server/workstation, i e Hostname$.

Regards Marten
0
 
LVL 20

Expert Comment

by:Marten Rune
ID: 39215376
You might want to authenticate the SQL Server Agent account with the same account, just repeat the same process but with the SQL Server Agent (instance) as the chosen object, instead of the SQL Server service (instance) object.

All is written straight out of my head. But Im fairly sure the names/and paths are correct.

Regards Marten
0

Featured Post

Backup Your Microsoft Windows Server®

Backup all your Microsoft Windows Server – on-premises, in remote locations, in private and hybrid clouds. Your entire Windows Server will be backed up in one easy step with patented, block-level disk imaging. We achieve RTOs (recovery time objectives) as low as 15 seconds.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction In my previous article (http://www.experts-exchange.com/Microsoft/Development/MS-SQL-Server/SSIS/A_9150-Loading-XML-Using-SSIS.html) I showed you how the XML Source component can be used to load XML files into a SQL Server database, us…
This article explains how to reset the password of the sa account on a Microsoft SQL Server.  The steps in this article work in SQL 2005, 2008, 2008 R2, 2012, 2014 and 2016.
Using examples as well as descriptions, and references to Books Online, show the documentation available for date manipulation functions and by using a select few of these functions, show how date based data can be manipulated with these functions.
Via a live example, show how to set up a backup for SQL Server using a Maintenance Plan and how to schedule the job into SQL Server Agent.

920 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now