0

I'm trying to update table into an .accdb file by a C# program.

I've opened the connection in this way:

cn.ConnectionString= @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\test.accdb;Persist Security Info=True;Database Password=myDb";

cmd.Connection = cn;

string query = "UPDATE MY_TABLE SET NOTE='TEST'";
cmd.CommandText = query;

cn.Open();

but I get this error:

Could not find installable ISAM

I also installed the AccessDatabaseEngine x86, but nothing happened.

Any suggestions?

Thanks!

user3906040
  • 651
  • 1
  • 8
  • 12

1 Answers1

0

“Could not find installable isam” is a bit of a generic catch all, usually connection string or driver bitness related. For connection strings that use extended properties like Database Password they may need to be prefixed with something to make it assigned as an extended property of that particular driver

In your case I think you’re missing the relevant specifier for the database password property, which isn’t a typical OLE connectionstring property:

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\test.accdb; Jet OLEDB:Database Password=MyDbPassword;

Note the extra “Jet OLEDB” before the database password specifier

connectionstrings.com has a raft of info for these things and serves as a handy resource for many different thins that Jet and Ace can connect to

Caius Jard
  • 72,509
  • 5
  • 49
  • 80