UniDirect .NET Data Provider研究

UniDirect .NET data provider offers universal access to data of different databases for the Microsoft .NET Framework. It supports most of major database servers such as Microsoft SQL Server, Microsoft Access, Oracle, DB2, MySQL, PostgreSQL and others through OLE DB and ODBC. The provider is completely based on ADO.NET technology and can be used in the same way as the SQL Server .NET or the OLE DB .NET Data Provider. At the same time UniDirect .NET doesn't implement database specific access layer for all databases, it uses native ADO.NET providers and based on their functionality.
对于试用版,最多可以返回6条记录。
看看该软件的组件架构,主要通过UniDataReader实现datset的数据访问,检查发现在这里每个方法基本上都会判断是否超出6行,否则没有数据返回。l
public string GetString(int i)
{
      if (i > 5)  return null;
      return this.b.GetString(i);
}
 解决思路就是每个方法下面的语句删除掉,然后用ilasm组装就可以了
      L_0000: ldarg.1 
      L_0001: ldc.i4.
5 
      L_0002: ble.s L_0006
      L_0004: ldnull 
      L_0005: ret 
附dll文件,未测试,仅参考:https://files.cnblogs.com/midea0978/CoreLab.UniDirect.rar
由于assembly的签名被破坏,所以设计状态要用试用版,发布之后再用补丁覆盖,否则可能会出错,或者将design,addin中的引用去掉就可以了
posted @ 2005-09-28 09:46  在路上...  阅读(1620)  评论(5编辑  收藏  举报