Internal OLE Automation errors - ms-access

I've got a legacy project which runs some queries every minute to an Access database. All the queries work fine but after a certain amount of time (multiple weeks) and then all of a sudden Internal OLE Automation errors start appearing left and right. It first starts with one query giving an error and then slowly but surely all the queries will generate the error.
My gut feeling says this is a timeout issue but I don't have any clue where to start.
In advance: I know Access databases are horrible and that I shouldn't be using the JDBC-ODBC bridge in production environments but as I said this is a legacy project which we're still supporting.
Please do let me know if you need any additional information or code snippets.
Edited to add: The error is always java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Internal OLE Automation error For this specific server we use Java 6, Tomcat 6, Windows Server 2012 and the ms access driver native in Windows on version 6.03.9600.17415. They are all the 32 bit versions.

Related

Error accessing Oracle view through SSIS

I'm getting errors while trying to access an Oracle view through an SSIS package. First, since, I'm running 64-bit windows, I installed the 64-bit Oracle 12c Client. But when I tested the connection I got this error:
Test connection failed because of an error in initializing provider. Attempt to load Oracle client libraries threw BadImageFormatException. This problem will occur when running in 64 bit mode with the 32 bit Oracle client components installed.
Then I tried installing the 32-bit Oracle 12c Client but got another, different error.
Test connection failed because of an error in initializing provider. ORA-12154: TNS:could not resolve the connect identifier specified
Lastly I tried installing both clients together but the last error persisted. Not sure what's going on here...
The first error comes from the fact that Visual studio is 32 bit and it's trying to use 32 bit drivers by default. You can change the runtime settings like this: https://stackoverflow.com/a/28235255/5605866
The second error might refer to tnsnames.ora file not having all the settings correctly, like in here: https://stackoverflow.com/a/40399744/5605866

Jet DB Engine - SSIS OLEDBERROR - Unexpected error from external database driver (1)

My SSIS job hosted in DEV server got failed due to the the following SSIS Error
Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005.
An OLE DB record is available. Source: "Microsoft JET Database Engine" Hresult: 0x80004005 Description: "Unexpected error from external database driver (1).".
In my SSIS package -> Data Flow Task, I am using source as SQL server and destination as Excel. Excel Version is 97-2003 (xls format) and the connection details is:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source={mypath}\filename.xls;Extended Properties="EXCEL 8.0;HDR=YES";
It was running successfully every one hour as scheduled.
The issue occurred when DB instances stopped for windows patching and
after started on patching completion
I am facing this issue in the server. I have checked other solutions in Stack Overflow. It was mainly discussed with size based. In my case, SSIS job never changed. I believe this is due to Jet engine driver level issue. I am more looking for driver level check rather than ssis job level code change, as the code never changed and no large data flow is happened.
Same for me after switching to the second node of the cluster after applying wsus updates. Seems to be related to the last updates.
I've filed a connect bug: https://connect.microsoft.com/SQLServer/feedback/details/3142556
Just uninstalled:
KB 4040685 (This is on my workstation, too)
KB 4041693
KB 4041687
It's working fine now!
Same here as well. After applying updates to the server, packages which use Excel 97 - 2003 format have failed.
We are having to switch each connection to 2007 to enable the package to run on the server.
The best recommended solution is to move to Microsoft ACE OLE DB provider.
Microsoft is working on a resolution and will provide an update in an upcoming release of the security patch. This is expected to be available in another 2-3 weeks or earlier.
More info...
I installed Access Database Engine Tools 2010, after this I changed the Excelversion from 2003 tol 2007 in connection. Then I again can execute my extract packages form XLS files, without having to uninstall KB's
BR
Annette
Change every datasource from "Provider=Microsoft.Jet.OLEDB.4.0" to "Provider=Microsoft.Jet.OLEDB.12.0"
This error ocurs when installed updates: KB4040685, KB4041693, KB4041687
In my case – we have bunch of packages uses older version of excel.
Upgrading/Modifying packages is not solution without going thru SDLC process.
As Temp Work Around – We un-installed the security patches - KB4041679 & KB4041690 and things started working.
First, We did uninstalled KB 4040685 and issue still persists.
We are using Microsoft Jet 4.0 OLE DB Provider to read data from Excel(.XLS) file.
Thanks,
Sri

WP8 SQL CE 4.0 database deployment error "An attempt was made to load a program with an incorrect format"

I added a SQLCE 4.0 database (sdf file) into my WP 8 project, it works fine initially, I can deploy the app to device.
But after some data is populated to the database ( the size of the db increase from 120kb to 4 MB), I can't deploy it to device, it failed with message "An attempt was made to load a program with an incorrect format".
If I swap the database with the empty one, it works again.
Thanks in advance for any advice....
If you add a desktop database, it must be 3.5 format

Error code 0x80004005 when executing package as a scheduled job

The error message is:
POSTGRES dm_genders_d failed validation and returned error code
0x80004005.
I've seen several references to this almost assuredly being a permissions issue, which sounds right to me, but I have been completely unable to identify the relevant permissions.
The Postgres connection is using ODBC. The package is moving data from PostgreSQL to SQL Server. Currently both 32bit and 64bit drivers exist, but I haven't seen how to choose between them.
I have made all of the recommended changes to 32 bit for the job.
We are using Windows Authentication.
I've set up a proxy to execute the job as my user.
None of this has alleviated this error.
UPDATE: Yes, the 32 bit data source has been defined, and it is being used.
I had this error and I could solve it by Add ODBC connection in the "system DSN" instead of "User DSN" tab.
Start > ODBC Data Sources
Also I ran package with 32-bit runtime
for this: right click on your job in SQL Server Agent > properties > steps > edit
in the window that appear (Job Step Properties) you can set 32-bit runtime. (below picture)

MySQL ODBC error "server has gone away"

Occasionally we're seeing an error from ASP pages:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[MySQL][MyODBC 5.00.11][MySQL] 2006 MySQL server has gone away
We're handling it the best way we can in ASP but it still crops up. I think it's more to do with the MySQL ODBC driver than the ASP code. We never see this with PHP code we also have running under the same IIS server, however PHP re-connects each time it is ran, whereas I believe the ODBC driver connects once and stays connected.
I've checked the settings in the driver but there doesn't seem to be anything I can change to help mitigate the problem.
Can anyone explain why this is happening and how to reduce the number of times it happens?
The problem is that the connection is timing out. This is not a setting that you can change at the ODBC level. I got round it by polling the connection every 10 seconds with a simple query. That keeps the connection alive.
Not sure about ASP, but in Java/Tomcat/DBCP we have ability to stick a simple test statement (such as SELECT 1) in connection pools before actually getting the connection. Maybe there is something similar in ASP, too?