The Jet 4.0 Exchange/Outlook IISAM from ADO.NET

The Jet 4.0 Exchange/Outlook IISAM from ADO.NET

Post by Boris Zakh » Wed, 29 Mar 2006 11:19:40

I am experimenting with using Visual Studio 2005 and .NET 2.0 for the first
time (though I have plenty of 1.1 experience and it's not that important in
this case). I have written a VC++ Win32 API-only application that acts as an
address book converter between applications. So, I'm trying to get away from
the difficulties of manually calling MAPI and OLB's and the like. I think if
I could use a DataSet for as much of it as possible, it would simplify
things a great deal. So, I dug around and found out about this Jet 4.0
Exchange/Outlook IISAM. That looks very promising. I am able to use the
connection string like "Provider=Microsoft.Jet.OLEDB.4.0;Exchange
4.0;MAPILEVEL=Personal Folders|;TABLETYPE=1;DATABASE=C:\\Temp" and a select
statement like "SELECT * FROM [Address Book]" to get the contents of the
WAB, for example. I have two large problems at ths point, however.

First is the fact that all examples are in DAO or classic ADO. Could I
enumerate the folders from ADO.NET like I could do in VB?:
Set db = _
OpenDatabase("c:\temp\", False, False, _
For Each tdf In db.TableDefs
Debug.Print "FOLDERS: " & tdf.Name
Next tdf

Second is Unicode. The above example select statement, when linked to a
DataSet, converts all non-Latin characters to question marks. It doesn't
look like a limitation of the IISAM, but is it a limitation of the
Exchange/Outlook drivers or can I get Unicode text somehow?

Thanks in advance,
Boris Zakharin