地市分站
用户名
密  码
您现在的位置是:树人网首页 / 计算机等级考试 / 计算机等级考试 / 文章浏览
如何用VFP的dbf进行分布式查询
文章来源:来源网络 发表时间:2008-07-20 点击次数
概述

  本文演示如何执行一个 SQL Server 分布式查询来从 FoxPro .dbc 和 .dbf 文件获取数据.

  更多信息

  Microsoft SQL Server 7.0 提供了执行基于 OLE DB providers 的查询的能力. 这是靠使用 OpenQuery 或 OpenRowset Transact-SQL 函数或使用包含一个已连接服务器名四部查询来执行的.

  例如:

  sp_addlinkedserver 'mylinkedserver', 'product_name', 'myoledbprovider', 'data_source','location', 'provider_string', 'catalog'

  SELECT * FROM OPENQUERY(mylinkedserver, 'select * from table1')

  可以用 Microsoft OLE DB provider for ODBC (MSDASQL) 和 Visual FoxPro ODBC driver 来设置一个已连接服务器 (linked server) 来执行基于 FoxPro .dbc 和 .dbf 文件的分布式查询. 不支持用 Jet OLEDB Provider 和 FoxPro.

  以下 T-SQL 示例代码演示如何用 OpenQuery 和 OpenRowset 函数设置和使用分布式查询 FoxPro. 它也演示了如何从 SQL Server 更新一个远程 FoxPro 表. 你可以在一个 SQL Server 7.0 机器上安装了 Visual FoxPro ODBC driver 后, 在 SQL Query Analyzer 中测试这些代码 . 你需要改变数据源名和路径到适当的 FoxPro 文件:

  /* OPENROWSET 和 OPENQUERY 示例. 以 VFP 通过 ODBC OLE DB provider */

  /* 这些 OPENROWSET 示例依赖于示例文件 VFP98\data\Testdata.dbc

  如果你的数据在不同的位置请修改你的代码 */

  使用 DBC 文件 , 读和更新

  OPENROWSET DSN-less 示例

  select * from openrowset('MSDASQL',

  'Driver=Microsoft Visual FoxPro Driver;

  SourceDB=e:\VFP98\data\Testdata.dbc;

  SourceType=DBC',

  'select * from customer where country != "USA" order by country')

  go

  select * from openrowset('MSDASQL',

  'Driver=Microsoft Visual FoxPro Driver;

  SourceDB=e:\VFP98\data\Testdata.dbc;

  SourceType=DBC',

  'select * from customer where region="WA"')

  go

  Update openrowset('MSDASQL',

  'Driver=Microsoft Visual FoxPro Driver;

  SourceDB=e:\VFP98\data\Testdata.dbc;

  SourceType=DBC',

  'select * from customer where region="WA"')

  set region = "Seattle"

  go

  check to verify which rows were updated

  select * from openrowset('MSDASQL',

  'Driver=Microsoft Visual FoxPro Driver;

  SourceDB=e:\VFP98\data\Testdata.dbc;

  SourceType=DBC',

  'select * from customer where region="Seattle"')

  go

  OPENROWSET DSN 示例

  /* 注意:如果 SQL Server 是配置为使用本地帐号 DSN 示例可能失败.*/



第 页

责任编辑:qwer19871212

相关文章
公告栏

“蓝焰杯”第二届河南教育十大新闻人物火热评选中!!

点击参加评选,为你心目中的新闻人物投上一票>>>>
频道内容精选
[计算机考试]程序员必考的知识点
论坛/博客精选