如何用VFP的dbf进行分布式查询
摘要
本文演示了如何执行一个分布式SQL Server查询来从FoxPro获取数据。dbc和。dbf文件。
更多信息
Microsoft SQL Server 7.0提供了基于OLE DB访问接口执行查询的能力。这是通过使用OpenQuery或OpenRowset Transact-SQL函数或包含连接的服务器名称的四个查询来完成的。
例如:
sp _ addlinkedserver ' my linked server ',' product_name ',' myoledbprovider ',' data_source ',' location ',' provider_string ',' catalog '
SELECT * FROM OPENQUERY(mylinkedserver,' select * from table1 ')
您可以使用Microsoft ole db provider for ODBC(msdas QL)和Visual FoxPro ODBC驱动程序来设置链接服务器,以执行基于FoxPro的分布式查询。dbc和。dbf文件。不支持Jet OLEDB提供程序和FoxPro。
下面的T-SQL示例代码演示了如何通过OpenQuery和OpenRowset函数设置和使用分布式查询FoxPro。它还演示了如何从SQL Server更新远程FoxPro表。您可以在SQL Server 7.0计算机上安装Visual FoxPro ODBC d。在river之后,在SQL查询分析器中测试这些代码。您需要将数据源名称和路径更改为适当的FoxPro文件:
/* OPENROWSET和OPENQUERY示例。通过带有VFP的ODBC OLE DB访问接口*/
/*这些OPENROWSET示例依赖于示例文件VFP98 \ data \ testdata.dbc。
如果您的数据在不同的位置,请修改您的代码*/
使用DBC文件,阅读和更新
OPENROWSET无DSN示例
select * from openrowset('MSDASQL ',
Driver=Microsoft Visual FoxPro驱动程序;
SourceDB = e:\ VFP 98 \ data \ test data . DBC;
SourceType=DBC ',
select * from客户所在国家!=“美国”按国家排序)
去
select * from openrowset('MSDASQL ',
Driver=Microsoft Visual FoxPro驱动程序;
SourceDB = e:\ VFP 98 \ data \ test data . DBC;
SourceType=DBC ',
select * from customer where region = " WA " ')
去
更新openrowset('MSDASQL ',
Driver=Microsoft Visual FoxPro驱动程序;
SourceDB = e:\ VFP 98 \ data \ test data . DBC;
SourceType=DBC ',
select * from customer where region = " WA " ')
设置region = "西雅图"
去
检查以验证更新了哪些行
select * from openrowset('MSDASQL ',
Driver=Microsoft Visual FoxPro驱动程序;
SourceDB = e:\ VFP 98 \ data \ test data . DBC;
SourceType=DBC ',
select * from customer where region = " Seattle " ')
去
OPENROWSET DSN示例
/*注意:如果SQL Server被配置为使用本地帐户DSN示例,它可能会失败。*/
0条评论