well, not really :,,)
It”s a fact of live that I have never really enjoyed Access, specially when you use it as database. Unfortunately I had to work with it again, after so many years of joy with SQL Server. Ok, so it seems like Office 2007 introduced new drivers for OLE DB and ODBC drivers. This seems to be confirmed by connectiongstrings.com since they”re presenting a new syntax for connecting to a MS Access database:
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:myFoldermyAccess2007file.accdb;Persist Security Info=False;
Ok, now that I”ve got the connection string, what else can go wrong? As it turned out, plenty of things 🙂 For starters, the new drivers weren”t installed with Office, which means that I needed an aditional download. Ok, now that I”ve installed it, I never though I”d keep seeing the message “Microsoft.ACE.OLEDB.12.0 is not registered local machine”.
well, guess what? I”m running Vista 64 bits and the damn drivers are 32 bits. Since VS is automatically compiling to 64 bits (in fact, it”s using the “Any CPU option”, which means that the JIT will compile it to 64 bits, if i”m not mistaken), then I”m in trouble because i cannot load a 32-bit driver on a 64-bit process. what this means is that i had to change my build configuration so that it”ll always compile into 32-bits…
Ok, now I”m really shocked to see that Access still can”t support batch statements…I”m really hoping that I”m wrong, but it seems like i still can”t do something like this:
sql = “insert into….;select @@identity”
At least it can return you the last ID inserted on the table 🙂 You can say that I really didn”t google for it, so please please tell me I”m wrong (hum…please don”t tell i”m wrong using access as a database since I already know that 🙂 ; just tell me that it”s possible to run batches and that I don”t really need to handle the row updated event like this posts sugests…)