可以,用OPENROWSETOPENROWSET ( 'provider_name'
    , { 'datasource' ; 'user_id' ; 'password'
        | 'provider_string' }
    , { [ catalog.] [ schema.] object
        | 'query' } 
    ) 参数
'provider_name'字符串,它代表在注册表中指定的 OLE DB 提供程序的友好名。provider_name 没有默认值。'datasource'字符串常量,它对应着某个特定的 OLE DB 数据源。datasource 是将被传递到提供程序 IDBProperties 接口以初始化提供程序的 DBPROP_INIT_DATASOURCE 属性。通常,这个字符串包含数据库文件的名称、数据库服务器的名称,或者提供程序能理解的用于查找数据库的名称。 'user_id'字符串常量,它是传递到指定 OLE DB 提供程序的用户名。user_id 为连接指定安全上下文,并将它作为 DBPROP_AUTH_USERID 属性传递进来以初始化提供程序。'password'字符串常量,它是将被传递到 OLE DB 提供程序的用户密码。当初始化提供程序时,将 password 作为 DBPROP_AUTH_PASSWORD 属性传递进来。'provider_string'提供程序特定的连接字符串,将它作为 DBPROP_INIT_PROVIDERSTRING 属性传递进来以初始化 OLE DB 提供程序。通常 provider_string 封装初始化提供程序所需的所有连接信息。catalog目录或数据库的名称,其中驻留着指定的对象。schema架构的名称或指定对象的对象所有者名称。object对象名称,它唯一地标识出将要操作的对象。'query'是字符串常量,发送到提供程序并由提供程序执行。Microsoft® SQL Server™ 不处理该查询,但处理由提供程序返回的查询结果(直接传递查询)。对于有些提供程序,它们并没有通过表名而是通过命令语言表现自己的表格格式数据,那么将直接传递查询用于这些提供程序是非常有用的。只要查询提供程序支持 OLE DB Command 对象及其强制接口,那么在远程服务器上就支持直接传递查询。有关更多信息,请参见 SQL Server OLE DB 程序员参考。 
C. 使用用于 Jet 的 Microsoft OLE DB 提供程序
下面的示例通过用于 Jet 的 Microsoft OLE DB 提供程序访问 Microsoft Access Northwind 数据库中的 orders 表。说明  下面的示例假定已经安装了 Access。
USE pubs
GO
SELECT a.*
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 
   'c:\MSOffice\Access\Samples\northwind.mdb';'admin';'mypwd', Orders) 
   AS a
GO这是access的例子,换成你想要的就可以了

解决方案 »

  1.   

    没有那么复杂吧,我用odbc数据源很快就完成了不安装vfp而将.dbf文件导入sql数据库。建立数据源吧。
      

  2.   

    1。在ODBC资源管理器中,新建立一个[用户数据源],如:“test".数据类型选[free table directory],在[path]中添入你的DBF文件所在的路径。
    2。在企业管理器中:
    选中结果数据库,点右键,选择[所有任务][IMPORT DATA]
    3。[下一步],在source中,选则[microsoft dbase vfp driver]
    选择user/system dsn,在下拉提示中选择[test]
    4。[下一步],使用现有的数据
    5。[下一步],copy tables ....
    6. [下一步],选择要导入的表
    7。开始导入
    8。完成INSERT INTO T (F1,F2,F3)
    SELECT f1,f2,f3 
    FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
      'Data Source="F:\Borland\Shared\Data\";Extended properties=dbase 5.0')...animals