2

我们通常使用 MS Visual Foxpro v9.0 SP1、语言、表格和报告。但是,有时我们使用 ODBC 驱动程序连接到表。ODBC 驱动程序是为 Foxpro v6 编写的,不支持某些嵌套选择、自动增量字段或嵌入式强制转换。

我们想找到我们现有的替代品。它可以是与 Visaul Foxpro v9 一起使用的另一个 ODBC 驱动程序,或者是 ODBC 的完整替代品。有这样的事吗?

谢谢。

4

2 回答 2

2

(说重用,今天刚刚在另一个帖子里回答了这个)

如果您正在寻找 VFP 数据库和表的 ODBC 驱动程序,您可能会考虑查看 iAnywhere 的 Advantage Database。有一个本地引擎和一个服务器引擎。本地引擎具有访问 DBF 数据的引擎,但对于您的情况,它还有一个 ODBC 驱动器,可以处理 VFP 数据,包括当前的 Visual FoxPro 9。本地引擎和包含的 ODBC 驱动程序是免费的。

http://www.sybase.com/ianywhere

于 2009-08-06T20:07:54.420 回答
1

您可以通过 COM+ 并在 VFP 中执行几乎任何操作,但是,您通过管理工具、组件服务会遇到安全问题。

您可以构建为单线程或多线程 DLL。

注册后,类型库信息是“添加引用”到 C#(或其他)应用程序,您可以使用所需的任何参数进行函数调用。您可以返回很多东西,但通常是表格,我将其作为 XML 发送回来(通过 Foxpro 的 XMLAdapter 类),然后在 C# 中流式转换为表格一次。自从我以这种方式工作以来已经有一段时间了,但这提供了极大的灵活性,因为您可以在生成 XML 并将其作为字符串返回之前进行查询、扫描循环和其他复杂的条件测试和游标更新。

DEFINE CLASS YourClass as CUSTOM  OLEPUBLIC
  FUNCTION GetMyData( lcSomeString as String)
    select * from (YourPath + "SomeTable" ) where ... into cursor C_SomeCursor readwrite
    .. any other manipulation, testing, etc...
    oXML = CREATEOBJECT( "xmladapter" )
    lcXML =  ""
    oXML.AddTableSchema( "C_SomeCursor" )
    oXML.ToXML( "lcXML", "", .f. )

    return lcXML
  ENDFUNC 
ENDDEFINE
于 2009-08-03T17:08:33.513 回答