Error 6670 after installing Windows Updates
Symptom
When printing or viewing Database Connection Setup in BarTender, you get:
- Error Message #6670 – Failed to connect to database: unexpected error from database driver
Environment
- Microsoft Windows Operating System
- BarTender Designer (32-bit)
- Microsoft Excel
- Microsoft JET OLEDB Provider
Any of the following October 2017 Windows Updates are installed
Operating System | Windows Update Number |
Windows 10 build 1703 | KB4041676 |
Windows 10 build 1607, Windows Server 2016 | KB4041691 |
Windows 8.1, Windows Server 2012 | KB4041693 |
Windows 7, Windows Server 2008 R2 | KB4041681 |
Fix
Recommended
We have identified that the problem is in the Microsoft JET OLEDB Provider after installing October 2017 Windows Updates. Microsoft has released a series of updates that resolve the issue.
If you're experiencing this problem, please install the update that corresponds to the version of Windows that you're using.
Operating System | Update that resolves issue |
Windows 10 build 1709 | KB4048955 |
Windows 10 build 1703 | KB4048954 |
Windows 10 build 1607, Windows Server 2016 | KB4048953 |
Windows 8.1, Windows Server 2012 | KB4048958 |
Windows 7, windows Server 2008 R2 | KB4048957 |
Alternatives
If you're unable to install those Windows updates, you can continue to use the workarounds listed here, but we highly recommend that install the latest Windows updates as soon as possible.
To force BarTender to use ACE you must have ACE installed on your system, and then you must recreate the database connection in BarTender.
To see if you have ACE Installed
- Open the Windows Control Panel
- Open Programs and Features
- Look for "Microsoft Access Database Engine Redistributable"
- The presence of this application indicates that you have ACE installed, proceed to " Updating your BarTender Documents"
- If you do not have this file, proceed to " Install the ACE Provider"
HKEY_CLASSES_ROOT\Microsoft.ACE.OLEDB.12.0. If you have that key, then you have ACE installed.
Install the ACE Provider
Before following these steps, close any open BarTender instances.
If you didn't have ACE installed, then follow these steps to install it.
- Go to: https://www.microsoft.com/en-us/download/details.aspx?id=13255
- Download the 32-bit version of the ACE Provider (AccessDatabaseEngine.exe)
- Run the executable to install Microsoft Access Database Engine Redistributable
- Once installed, proceed to "Updating your BarTender Documents"
Updating your BarTender Documents
Once ACE is installed on the machine, follow these steps to update your BarTender Documents.
Please note steps 3 and 4. You will lose those settings during this process.
- Open the BarTender Document affected
- Click File > Database Connection Setup
- Confirm the location of your Excel file
- Check the Query or Filter tabs and make note of any queries or filters that are setup
- Remove the current database connection by clicking the Remove button (10.1 and earlier) or the red 'X' button (BarTender 2016)
- Click Add to reconnect to your Excel document
- Recreate any Queries or Filters that were setup
- Repeat these steps for other affected BarTender documents
Remove Windows Update
You may also choose to remove the offending update from your computer. However, please be aware that there are several other important fixes included in those updates. You should review the release notes and your environment carefully before choosing to remove or prevent the Microsoft updates. We recommend that you leave the updates installed until Microsoft comments on the problem.
More Information
Microsoft has an official statement on this problem here: https://blogs.msdn.microsoft.com/dataaccesstechnologies/2017/10/18/unexpected-error-from-external-database-driver-1-microsoft-jet-database-engine-after-applying-october-security-updates/
JET is an older technology used to transfer data between Microsoft Office and other applications (e.g. BarTender). ACE is the replacement for JET and was introduced with new Microsoft Office packages.
BarTender attempts to use the ACE provider whenever it is available. BarTender will always use ACE in the following circumstances:
- You are using a 64-bit version of BarTender (as there is no JET provider for 64-bit)
- You are using newer Excel files (all newer files require ACE)
If you are using a 32-bit version of BarTender with older Excel files, you could be using JET or ACE, depending on your system configuration. When creating a new Database connection, BarTender will default to ACE if it is available. However, the connection preference is stored on a document specific basis.
Therefore, you must remove the documents JET connection and recreate the database connection with ACE installed on your system. From that point on, BarTender will always attempt to use ACE when using that document.
ACE is fully backwards compatible with all version of Excel documents. So there is no harm in updating to the ACE provider. You will still have JET installed on your computer, so any other applications that might need it can still access it (be aware that other applications trying to open Excel via JET will suffer this problem).