Sunteți pe pagina 1din 9

Developers number one Connection Strings referenceKnowledge BaseQ & A forums

SearchThank YouAboutlog in
Excel connection strings
.NET libraries
.NET xlReader for Microsoft Excel
RSSBus ADO.NET Provider for Excel
OLE DB providers
Microsoft ACE OLEDB 12.0
Microsoft Jet OLE DB 4.0
ODBC drivers
Microsoft Excel 2007 ODBC Driver
Microsoft Excel ODBC Driver
Wrappers and others
.NET Framework Data Provider for OLE DB
.NET Framework Data Provider for ODBC

Microsoft ACE OLEDB 12.0
o Xlsx files
Connect to Excel 2007 (and later) files with the Xlsx file extension. That is the Office
Open XML format with macros disabled.
Provider=Microsoft.ACE.OLEDB.12.0;Data
Source=c:\myFolder\myExcel2007file.xlsx;
Extended Properties="Excel 12.0 Xml;HDR=YES";
"HDR=Yes;" indicates that the first row contains columnnames, not data. "HDR=No;" indicates the
opposite.
Excel 2007Excel 2010Excel
2013
o Treating data as text
Use this one when you want to treat all data in the file as text, overriding Excels column
type "General" to guess what type of data is in the column.
Provider=Microsoft.ACE.OLEDB.12.0;Data
Source=c:\myFolder\myExcel2007file.xlsx;
Extended Properties="Excel 12.0 Xml;HDR=YES;IMEX=1";
If you want to read the column headers into the result set (using HDR=NO even though there is a header) and
the column data is numeric, use IMEX=1 to avoid crash.
Excel 2007Excel
2010Excel 2013
To always use IMEX=1 is a safer way to retrieve data for mixed data columns. Consider the scenario that one
Excel file might work fine cause that file's data causes the driver to guess one data type while another file,
containing other data, causes the driver to guess another data type. This can cause your app to crash.
o
o Xlsb files
Connect to Excel 2007 (and later) files with the Xlsb file extension. That is the Office
Open XML format saved in a binary format. I e the structure is similar but it's not saved in
a text readable format as the Xlsx files and can improve performance if the file contains a
lot of data.
Provider=Microsoft.ACE.OLEDB.12.0;
Data Source=c:\myFolder\myBinaryExcel2007file.xlsb;
Extended Properties="Excel 12.0;HDR=YES";
You can also use this connection string to connect to older 97-2003 Excel workbooks.
"HDR=Yes;" indicates that the first row contains columnnames, not data. "HDR=No;" indicates the
opposite.
Excel 2007Excel 2010Excel
2013
o Xlsm files
Connect to Excel 2007 (and later) files with the Xlsm file extension. That is the Office
Open XML format with macros enabled.
Provider=Microsoft.ACE.OLEDB.12.0;Data
Source=c:\myFolder\myExcel2007file.xlsm;
Extended Properties="Excel 12.0 Macro;HDR=YES";
"HDR=Yes;" indicates that the first row contains columnnames, not data. "HDR=No;" indicates the
opposite.
Excel 2007Excel 2010Excel
2013
o Excel 97-2003 Xls files with ACE OLEDB 12.0
You can use this connection string to use the Office 2007 OLEDB driver (ACE 12.0) to
connect to older 97-2003 Excel workbooks.
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\myFolder\myOldExcelFile.xls;
Extended Properties="Excel 8.0;HDR=YES";
"HDR=Yes;" indicates that the first row contains columnnames, not data. "HDR=No;" indicates
the opposite.
Excel 2000Excel 2002Excel
2003Excel 97
Problems connecting? Get answer in the Excel Q & A
forum
Microsoft Jet OLE DB 4.0
o Standard (Excel)
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MyExcel.xls;
Extended Properties="Excel 8.0;HDR=Yes;IMEX=1";
How to Use JET in 64 bit environments
Excel 2000Excel 2002Excel 2003Excel 97
o Standard alternative
Try this one if the one above is not working. Some reports that Excel 2003 need the exta
OLEDB; section in the beginning of the string.
OLEDB;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MyExcel.xls;
Extended Properties="Excel 8.0;HDR=Yes;IMEX=1";
"HDR=Yes;" indicates that the first row contains columnnames, not data. "HDR=No;" indicates the opposite.
"IMEX=1;" tells the driver to always read "intermixed" (numbers, dates, strings etc) data columns as text. Note
that this option might affect excel sheet write access negative.
SQL syntax "SELECT [Column Name One], [Column Name Two] FROM [Sheet One$]". I.e. excel worksheet
name followed by a "$" and wrapped in "[" "]" brackets.
Check out the [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel] located registry
REG_DWORD "TypeGuessRows". That's the key to not letting Excel use only the first 8 rows to guess the
columns data type. Set this value to 0 to scan all rows. This might hurt performance. Please also note that adding
the IMEX=1 option might cause the IMEX feature to set in after just 8 rows. Use IMEX=0 instead to be sure to
force the registry TypeGuessRows=0 (scan all rows) to work.
If the Excel workbook is protected by a password, you cannot open it for data access, even by supplying the
correct password with your connection string. If you try, you receive the following error message: "Could not
decrypt file."
A workaround for the "could not decrypt file" problem
Excel
2000Excel
2002Excel
2003Excel 97
.NET Framework Data Provider for OLE DB
o Use an OLE DB provider from .NET
Provider=any oledb provider's name;OledbKey1=someValue;OledbKey2=someValue;
See the respective OLEDB provider's connection strings options. The .net OleDbConnection will just pass on the
connection string to the specified OLEDB provider. Read more here.
Microsoft Excel 2007 ODBC Driver
o Standard
Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};
DBQ=C:\MyExcel.xlsx;

Excel 2007Excel 2010Excel 2013
o Standard (for versions 97 - 2003)
Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};
DBQ=C:\MyExcel.xls;

Excel 2000Excel 2002Excel 2003Excel 97
Microsoft Excel ODBC Driver
o Standard
Driver={Microsoft Excel Driver (*.xls)};DriverId=790;Dbq=C:\MyExcel.xls;
DefaultDir=c:\mypath;
SQL syntax "SELECT [Column Name One], [Column Name Two] FROM [Sheet One$]". I.e. excel
worksheet name followed by a "$" and wrapped in "[" "]" brackets.
Excel 2000Excel 2002Excel
2003Excel 97
o Specify ReadOnly
[Microsoft][ODBC Excel Driver] Operation must use an updateable query. Use this
connection string to avoid the error.
Driver={Microsoft Excel Driver (*.xls)};Dbq=C:\MyExcel.xls;ReadOnly=0;
ReadOnly = 0 specifies the connection to be updateable.
Excel 2000Excel 2002Excel 2003Excel 97
.NET Framework Data Provider for ODBC
o Use an ODBC driver from .NET
Driver={any odbc driver's name};OdbcKey1=someValue;OdbcKey2=someValue;
See the respective ODBC driver's connection strings options. The .net OdbcConnection will just pass on the connection
string to the specified ODBC driver. Read more here.
.NET xlReader for Microsoft Excel
o Excel file with header row
Data Source =c:\myExcelFile.xlsx;HDR=yes;Format=xlsx;

Excel 2007Excel 2010Excel 2013
o Excel file without header row
Data Source =c:\myExcelFile.xlsx;HDR=no;Format=xlsx;

Excel 2007Excel 2010Excel 2013
o Excel file with header row (for versions 97 - 2003)
Data Source =c:\myExcelFile.xls;HDR=yes;Format=xls;

Excel 2000Excel 2002Excel 2003Excel 97
o Excel file without header row (for versions 97 - 2003)
Data Source =c:\myExcelFile.xls;HDR=no;Format=xls;

Excel 2000Excel 2002Excel 2003Excel 97
RSSBus ADO.NET Provider for Excel
o Standard
Excel File=C:\myExcelFile.xlsx;

Excel 2000Excel 2002Excel 2003Excel 2007Excel 2010Excel 2013Excel 97
o No headers in Excel sheet
Excel File=C:\myExcelFile.xlsx;Header=False;
Pseudo column names (A,B,C) are used instead.
Excel 2000Excel 2002Excel 2003Excel 2007Excel 2010Excel 2013Excel 97
o Caching data
Excel File=C:\myExcelFile.xlsx;Cache Location=C:\cache.db;Auto Cache=true;
Offline=false;
To retrieve data from the cache, add "#Cache" to the table name. For example, to query cached
data from the "Sheet" table, execute "SELECT * FROM [Sheet#Cache]".
Excel 2000Excel 2002Excel 2003Excel
2007Excel 2010Excel 2013Excel 97
o Caching data and metadata
Excel File=C:\myExcelFile.xlsx;Cache Location=C:\cache.db;Auto Cache=true;
Offline=false;Cache Metadata=true;
The table metadata will also be cached instead of retrieving it from the data source. This
improves connection performance. Read morehere
Excel 2000Excel 2002Excel 2003Excel
2007Excel 2010Excel 2013Excel 97
o Cached data only / Offline mode
Excel File=C:\myExcelFile.xlsx;Offline=true;Query Passthrough=true;
Cache Location=C:\cache.db;
SELECT statements will always retrieve data from the cache. DELETE/UPDATE/INSERT
statements is not allowed and will throw an exception.
Excel 2000Excel 2002Excel 2003Excel
2007Excel 2010Excel 2013Excel 97
o Using an External Cache Provider
RSSBus drivers have the ability to cache data in a separate database such as SQL
Server or MySQL instead of in a local file using the following syntax:
Cache Provider=Provider.Namespace;
Cache Connection='Connection String to Cache Database';
Above is just an example to show how it works. It can be used both with "Auto Cache" and with
"Cached Data Only / Offline Mode". Read more about using RSSBus Cache Provider in this
article >>>
Excel 2000Excel 2002Excel 2003Excel
2007Excel 2010Excel 2013Excel 97
o Empty cells always NULL
Excel File=C:\myExcelFile.xlsx;Empty Text Mode=EmptyAsNull;

Excel 2000Excel 2002Excel 2003Excel 2007Excel 2010Excel 2013Excel 97
o Empty cells always empty string
Excel File=C:\myExcelFile.xlsx;Empty Text Mode=NullAsEmpty;

Excel 2000Excel 2002Excel 2003Excel 2007Excel 2010Excel 2013Excel 97
o Suppress formula calculation errors
Excel File=C:\myExcelFile.xlsx;Ignore Calc Error=true;

Excel 2000Excel 2002Excel 2003Excel 2007Excel 2010Excel 2013Excel 97
o Read "tilted sheets", where rows are headers and columns are
rows
Excel File=C:\myExcelFile.xlsx;Orientation=Horizontal;

Excel 2000Excel 2002Excel 2003Excel 2007Excel 2010Excel 2013Excel 97
o Do not use formulas, only values
Do not treat values starting with equals (=) as formulas during inserts and updates.
Excel File=C:\myExcelFile.xlsx;Allow Formula=false;

Excel 2000Excel 2002Excel 2003Excel 2007Excel 2010Excel 2013Excel 97
Connect
Excel28
Excel 9721
Excel 200021
Excel 200221
Excel 200321
Excel 200720
Excel 201020
Excel 201320
Q&Aask question
ODBC CONNECTION FROM A LIVECYCLE FORM WITH EXCEL 2013
Expected: end of statement Error when using Microsoft.ACE.OLEDB.12.0
Updating Legacy VBA to the 21st Century
Updating Legacy VBA to the 21st Century
OleDbDataAdapter: How to read a column having data of different data types in a
Excel seat
Articlesread all
Jet for Access, Excel and Txt on 64 bit systems
The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine
Open a password-protected Excel workbook
Formating Rules for Connection Strings
Connection Strings Explained
Store connection string in web.config
Connection Pooling
The Provider Keyword, ProgID, versioning and COM CLSID explained
SQL Server Data Types Reference
Network protocol for SQL Server connection
Connect
Excel
Excel 97
Excel 2000
Excel 2002
Excel 2003
Excel 2007
Excel 2010
Excel 2013
Articlesread all
Jet for Access, Excel and Txt on 64 bit systems
The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine
Open a password-protected Excel workbook
Formating Rules for Connection Strings
Connection Strings Explained
Store connection string in web.config
Connection Pooling
The Provider Keyword, ProgID, versioning and COM CLSID explained
SQL Server Data Types Reference
Network protocol for SQL Server connection
Didn't find your connection string?
Start over from the connection string reference index - or try
a search!
In the Q&A forums you can ask your own
question and let somebody help you.
The knowledge articles contains solutions and guides.

connectionstrings

articles

search

Q & A

ask question

contribute

retro

advertise

about

contact

log In

join

Copyright 2014

ConnectionStrings.com

All Rights Reserved

Powered by CSAS

With support from Contributing Developers and Windward Reports
.

S-ar putea să vă placă și