Skip to content

Parallel support for ODBC and OLE DB #46

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 9 commits into from
Mar 28, 2020

Conversation

lauxjpn
Copy link
Member

@lauxjpn lauxjpn commented Mar 27, 2020

This PR implements ODBC and OLE DB support. Neither System.Data.Odbc nor System.Data.OleDb is being reference by System.Data.Jet or EntityFrameworkCore.Jet.

However, of course the data access library the user wants to use to connect to the database file must be manually referenced by the user. A meaningful exception is thrown otherwise.

The easiest way to use either ODBC or OLE DB is to just use their appropriate connection string. EFCore.Jet will infer the corresponding data access library and retrieve an instance of its DbProviderFactory implementation, that will be used for all data access operations internally.

I also added multiple overloads to explicitly specify the data access library.

Closes #45

lauxjpn added 8 commits March 27, 2020 07:40
ODBC Error Code: -1311 [HY001]
[Microsoft][ODBC Microsoft Access Driver] Cannot open any more tables.
If too many commands get executed in short succession, ACE/Jet can run out of table handles.
This can happen despite proper disposal of OdbcCommand and OdbcDataReader objects.
Waiting for a couple of milliseconds will give ACE/Jet enough time to catch up.
@lauxjpn lauxjpn added this to the 3.1.x milestone Mar 27, 2020
@lauxjpn lauxjpn self-assigned this Mar 27, 2020
@lauxjpn lauxjpn force-pushed the feature/odbc_and_oledb branch from 5238b43 to f86cf6e Compare March 27, 2020 13:48
@lauxjpn lauxjpn merged commit 9a58494 into CirrusRedOrg:3.1-preview Mar 28, 2020
@lauxjpn lauxjpn deleted the feature/odbc_and_oledb branch March 28, 2020 15:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant