Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Crystal Reports, which OLEDB provider to use for SQL Server

When designing a new Crystal Report you have to create a new database connection. I have selected OLE DB (ADO) as the 'driver' as it made more sense than DAO,RDO or the other options for my requirements.

I need to execute an SQL Server 2005/2008 stored procedure on a remote server and show the results in Crystal Reports on a .NET client.

Selecting OLE DB, presents me with further options to select the correct provider, some of which are:

  • Microsoft OLEDB provider for ODBC drivers
  • Microsoft OLEDB provider for SQL Server
  • SQL Native Client
  • SQL Server Native Client 10.0

Which on is the best to use?

  • I don't want to use the ODBC drivers, for various disadvantages (setting up ODBC definitions and maybe slower).
  • Not sure how the OLEDB provider for SQL Server compares with the native client
  • The native client forced me to run the native client setup on each desktop. It also seems that there is different version for each version of SQL Server.

Initially I thought the native client is the logical choice for compatibility and performance but deployment seems to be an issue (unless I am doing something wrong)

What is the best connection driver/provider combination to use here?

like image 434
Philip Fourie Avatar asked Nov 02 '10 13:11

Philip Fourie


People also ask

How do I choose an Oledb provider?

Select File > Add Data Tables and click Add > Database.... In the Open Database dialog, click to select the OleDb Data Provider.

What is OLE DB Provider for SQL Server?

The OLE DB Driver for SQL Server is a stand-alone data access application programming interface (API), used for OLE DB, that was introduced in SQL Server 2005 (9. x). OLE DB Driver for SQL Server delivers the SQL OLE DB driver in one dynamic-link library (DLL).

Which is better OLE DB or ODBC?

ODBC is constrained to relational data stores; OLE DB supports all forms of data stores (relational, hierarchical, etc) In general, OLE DB provides a richer and more flexible interface for data access because it is not tightly bound to a command syntax (like SQL in the case of ODBC).


1 Answers

I would go with the Microsoft OLEDB provider for SQL Server. If you use the native client, you will need to distribute it with your applications.

This article talks about the native client in detail: http://blog.flex2sql.com/index.php/2009/02/how-and-when-to-use-sql-server-native-client/

like image 195
Brian Vander Plaats Avatar answered Sep 28 '22 04:09

Brian Vander Plaats