关于通过ODBC访问NOTES的心得体会
在.NET中,可以通过ODBC和NotesSql访问NOTES数据库。不过当中有一些细微的东西,一不小心就会出错。
1. 填充数据集。
平常,我们可以通过很多中方式填充数据集。SqlDataAdapter也有几种构造函数可以用。不过在访问Notes的时候,也许是因为我们用的是嵌套的表,只能用SqlDataAdapter的一种构造函数。
Microsoft.Data.Odbc.OdbcCommand cmd = (Microsoft.Data.Odbc.OdbcCommand)
iCnn.CreateCommand();
cmd.CommandText = strQuery;
Microsoft.Data.Odbc.OdbcDataAdapter da = new Microsoft.Data.Odbc.OdbcDataAdapter(cmd);
如果用其它的构造函数则会出现一些莫名其妙的错误。
2. 及时回收内存。
由于.NET本身提供垃圾回收机制,所以以前写代码经常没有回收内存。访问NotesSql则通过的是COM组件的方式。因此查询后必须回收内存,不然也会出错。
case "Microsoft.Data.Odbc.OdbcConnection":
Microsoft.Data.Odbc.OdbcCommand cmd = (Microsoft.Data.Odbc.OdbcCommand)iCnn.CreateCommand();
cmd.CommandText = strQuery;
Microsoft.Data.Odbc.OdbcDataAdapter da = new Microsoft.Data.Odbc.OdbcDataAdapter(cmd);
da.Fill(dsResult);
da.Dispose();
cmd.Dispose();
da = null;
cmd = null;
break;