Foxpro有任何新的ODBC选项吗?

时间:2009-08-03 12:39:28

标签: odbc driver auto-increment visual-foxpro drivers

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

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

感谢。

2 个答案:

答案 0 :(得分:2)

(谈论重用,今天在另一个主题中回答了这个问题)

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

http://www.sybase.com/ianywhere

答案 1 :(得分: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