how drivers work in sql server We have different drivers like ODBC, OLE DB, JDBC. I understood when we want to work with Excel in SQL Server, we need to load different driver. But my question is why we need different drivers, what work they do? Will drivers be at both client and server end? Suppose I am running SQL query from my local machine, will there be drivers on my machine? So far my search ended here, any info would be greatly appreciated.

http://infolab.stanford.edu/~ullman/fcdb/oracle/or-jdbc.html
Drivers enable specific communication methods between applications.  Some communication methods are very generic (such as OLEDB) and work with a variety of applications.  Others are specific and provide interaction only between one application type.  

SQL Server ships with a few drivers which are usually enough to enable it to communicate with other databases as required.  Additional drivers give additional capabilities.  For example, in my environment I have installed Oracle drivers so that some of our SQL Servers can communicate directly with an Oracle database server.  

For your second question about where the drivers need to be installed, that depends on where the work is taking place.  If you are writing an application to run on your local client machine to work with Excel spreadsheets then you need the Excel driver on your local client, because that is where the work is taking place.  

But I do not recommend having SQL Server work with Excel documents.  You should write something that will extract the data from excel (using the excel drivers) and then push that data to SQL Server (using ODBC or OLEDB drivers).  The same process could work in reverse.