MS OLE DB is not provided in the current installation - sql

I compiled a Powerbuilder 10.2 Program and released it to my users. it uses OLE DB Connection. Its working in any Programmer PCs except for our users. I think i might be missing a DLL or something to release in the Set. The problem is I dont know what I am missing.
Any help?
My throws sent this: MS OLE DB is not provided in the current installation

I think that you need the Microsoft SQL Server Native Client that should be deployed on each user host.
Which version of SQL Server are you using ?
For SQL Server 2005, you can find it in the Feature Pack for Microsoft SQL Server 2005 (look for sqlncli).

Related

SQL Server - Client Version

I am new to SQL Server and trying to familiarize myself with it, so I have some questions.
My background is Oracle and am wondering if it works very similar to SQL Server.
On a client machine we need to install a client version of Oracle, and with the installation it comes with a TNSNames.ORA file which has settings for all of the Oracle DB's which are located on an Oracle DB server.
I would assume that SQL server would follow something similar, install a client version of SQL server? If so, does SQL Server has something similar to local Oracle?
I've found how connect to SQL server from another computer, just wondering if I still would need a slim down/client version of SQL Server, I would assume yes.
https://technet.microsoft.com/en-us/library/ms345343(v=sql.110).aspx
Some of you might be asking, why don't you try it, don't have my second computer yet, would like this info. ahead of time.
Thank you
SQL Server client APIs include the low-level components needed to connect to and use SQL Server so there is generally no need to install other connectivity components. To name a few Microsoft ones:
ODBC: Latest version is ODBC Driver 13.1 for SQL Server
OLE DB: Latest is SQL Server 2012 Native Client
.Net Provider for SQL Server (SqlClient): included .NET framework
JDBC: Latest Microsoft version is 6.2
There are also a number of other open source and commercial APIs available for use in various programming languages and development frameworks (e.g. Tedious for Node.js).

Requirements to run SQL Server on other computers

Suppose that I've created a project using MS SQL Server.
Now if somebody asks me to run my application on their brand new PC, should I install the entire SQL Server management studio on their computer? Or are there any other choices?
Please note that I just want to run my app (.exe template) not to debug it or anything else.
If your application is intended for standalone use on a PC, you can include the redistributable version of SQL Server Express in your installer. It's a limited but functional version of SQL server intended to be included with application programs like yours free of charge.
https://www.microsoft.com/en-us/sql-server/sql-server-editions-express
If your application program is designed for either shared or standalone use, and you have time to polish up your installer, you can ask your users whether they want to use a shared SQL Server instance. That will let you skip the installation of SQL Server Express when it's not necessary.
No they don't need SQL server or management studio , however they a database driver to access the server. ADO, ODBC and JDBC are the types of drivers you would look at. This depends on the language you wrote your application in and the connection string.
You clients would use the server's address and connect to it using the driver which is specified in a connection string. See the examples below:
.Net Framework Data Provider For SQL Server:
Server=myServerAddress;Database=myDataBase;User Id=myUsername;
Password=myPassword;
SQL Server Native Client 11.0 OLE DB Provider:
Provider=SQLNCLI11;Server=myServerAddress;Database=myDataBase;Uid=myUsername;
Pwd=myPassword;
If you application only connect to the database that you have a two-tier client server architecture. For the server to be reachable it needs to be on a network or network endpoint that the clients(people running your software) can see. The server needs to be on as well(your comments).

How to resolve "MSOLAP.4 Provider is not registered on the local machine" error without install SQL in local machine?

If I am run OLAP application in SQL installed machine (Machine A), it will work perfectly. But I need to run that application in another machine (Machine B) with Machine A's MSOLAP DLL.
Is it possible?
If yes how can I do that?
Update
I have fixed this issue by using Adomd connection instead of OleDb connection... :)
"MSOLAP.4" is the name of the OLE DB provider for Analysis Services as included with SQL Server 2008. This driver is included with the Feature Pack for SQL Server. The SQL Server 2008 Feature Pack is here. Expand the "Install instructions" header and download the correct "Microsoft SQL Server 2008 Analysis Services 10.0 OLE DB Provider" for your platform.
Since, typically, the latest versions can connect without problems to older versions, and SQL Server 2008 is no longer supported, I recommend installing the version from the SQL Server 2014 Feature Pack instead. Use "MSOLAP" as the provider name in the connection string to use the latest version rather than a specific one.

Microsoft Azure + OleDB + FoxPro

I have a solution that talks to a FoxPro database (dbc) table (dbf) via the MS OleDb provider. Recently we would like to roll this solution out to MS Azure but it says the provider is not installed.
Exception: Unable to find the requested .Net Framework Data Provider.
It may not be installed.
Any idea hot to get this installed? The solution runs on my local machine without errors. I've googled this but unable to find anything specific - however I did see articles that indicated OleDb is not supported yet can be installed.
Here is the direct error message i'm getting on the azure website
The underlying provider failed on Open. The 'VFPOLEDB' provider is not registered on the local machine.
Azure might be running on x64 bit OS. You need to have an Ole DB provider for foxpro that works well for x64 OS. or you can change it to x86 OS
Azure is Microsoft's cloud version of a SQL-Server database, so to connect to that you'll need SQL driver not VFP's OleDB. Now if you need to query one table in VFP and another that is in Azure, I do not believe you can ... even if both are 32-bit, and VFP will only ever be 32-bit anyhow. If you do need to query between both, it would have to be done in a 3-part process I guess. Query from Azure to .Net (like a DataTable result), query from VFP (also to DataTable), then you could manually scroll through the rows and get what you need, such as with LINQ.

Error: Can't attach DB to SQL Server 2012

I have SQL Server 2012 and I'm trying to attach a db which was previously used with SQL Server 2012, surprisingly I'm getting the following error:
The database 'DatabaseName' cannot be opened because it is version
706. This server supports version 622 and earlier. A downgrade path is not supported.
I don't really understand how this could happen since like I said it was used with same 2012 version. What am I doing wrong? How can I make it work? Please explain in detail how this can be resolved.
Thank you!!
The error sounds like the server you are trying to attach the database to is not SQL Server 2012. This may be the version of Management Studio / Management Studio Express you're using, but I suspect SELECT ##VERSION; will tell you something different. It may just be a connection string mixup if you have multiple instances of SQL Server installed, otherwise you should download and install SQL Server 2012 Express from here.
#source
It sounds like you had the following configuration and source databases:
SQL Server 2008 SP3 (ver 10.0...) - database engine
SQL Server Management Studio 2012 (ver 11.0...) - management tools
a database that was created with SQL Server 2012 (version 706)
As mentioned you could install SSMS for SQL Server 2008 (after you uninstall SSMS for SQL Server 2012). Then you would have to script your database for that version and re-run the script via 'Tasks>Script...', remembering to set the target server version as shown below.
After scripting you can then use the import/export wizard to export and then inport the data into the new (downgraded database), assuming the database had no 2012-only datatypes (such as sequences).
Another consideration is database compatibility level as shown below. You can have a SQL Server 2012 instance which hosts databases with various compatibility levels.
Using SELECT ##VERSION works very well for me. Your Database Engine is connected to a 2008 DB which certainly doesn't allow you to attach. Once I change my Database Engine to connect to 2012 DB, it works for me.
Check your Database Engine connection. You can be working on 2012 Management Studio yet connecting to 2008 DB. This is what happened to me and I have solved it use SELECT ##VERSION.