如何用sql语句把一个dbf的数据导入的sql server 中 先用sp_addlinkedserver 再用OPENQUERY 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 sp_addlinkedserver创建一个链接的服务器,使其允许对分布式的、针对 OLE DB 数据源的异类查询进行访问。在使用 sp_addlinkedserver 创建链接的服务器之后,此服务器就可以执行分布式查询。如果链接服务器定义为 Microsoft® SQL Server™,则可执行远程存储过程。语法sp_addlinkedserver [ @server = ] 'server' [ , [ @srvproduct = ] 'product_name' ] [ , [ @provider = ] 'provider_name' ] [ , [ @datasrc = ] 'data_source' ] [ , [ @location = ] 'location' ] [ , [ @provstr = ] 'provider_string' ] [ , [ @catalog = ] 'catalog' ]参数[ @server = ] 'server'要创建的链接服务器的本地名称,server 的数据类型为 sysname,没有默认设置。如果有多个 SQL Server 实例,server 可以为 servername\instancename。此链接的服务器可能会被引用为下面示例的数据源:SELECT *FROM [servername\instancename.]pubs.dbo.authors. 如果未指定 data_source,则服务器为该实例的实际名称。[ @srvproduct = ] 'product_name'要添加为链接服务器的 OLE DB 数据源的产品名称。product_name 的数据类型为 nvarchar(128),默认设置为 NULL。如果是 SQL Server,则不需要指定 provider_name、data_source、location、provider_string 以及目录。[ @provider = ] 'provider_name'与此数据源相对应的 OLE DB 提供程序的唯一程序标识符 (PROGID)。provider_name 对于安装在当前计算机上指定的 OLE DB 提供程序必须是唯一的。provider_name 的数据类型为nvarchar(128),默认设置为 NULL。OLE DB 提供程序应该用给定的 PROGID 在注册表中注册。[ @datasrc = ] 'data_source'由 OLE DB 提供程序解释的数据源名称。data_source 的数据类型为 nvarchar(4000),默认设置为 NULL。data_source 被当作 DBPROP_INIT_DATASOURCE 属性传递以便初始化 OLE DB 提供程序。 当链接的服务器针对于 SQL Server OLE DB 提供程序创建时,可以按照 servername\instancename 的形式指定 data_source,它可以用来连接到运行于特定计算机上的 SQL Server 的特定实例上。servername 是运行 SQL Server 的计算机名称,instancename 是用户将被连接到的特定 SQL Server 实例的名称。[ @location = ] 'location'OLE DB 提供程序所解释的数据库的位置。location 的数据类型为 nvarchar(4000),默认设置为 NULL。location 作为 DBPROP_INIT_LOCATION 属性传递以便初始化 OLE DB 提供程序。[ @provstr = ] 'provider_string'OLE DB 提供程序特定的连接字符串,它可标识唯一的数据源。provider_string 的数据类型为 nvarchar(4000),默认设置为 NULL。Provstr 作为 DBPROP_INIT_PROVIDERSTRING 属性传递以便初始化 OLE DB 提供程序。当针对 Server OLE DB 提供程序提供了链接服务器后,可将 SERVER 关键字用作 SERVER=servername\instancename 来指定实例,以指定特定的 SQL Server 实例。servername 是 SQL Server 在其上运行的计算机名称,instancename 是用户连接到的特定的 SQL Server 实例名称。[ @catalog = ] 'catalog'建立 OLE DB 提供程序的连接时所使用的目录。catalog 的数据类型为sysname,默认设置为 NULL。catalog 作为 DBPROP_INIT_CATALOG 属性传递以便初始化 OLE DB 提供程序。返回代码值0(成功)或 1(失败)结果集如果没有指定参数,则 sp_addlinkedserver 返回此消息:Procedure 'sp_addlinkedserver' expects parameter '@server', which was not supplied. OPENQUERY在给定的链接服务器(一个 OLE DB 数据源)上执行指定的直接传递查询。可以在查询的 FROM 子句中像引用表名那样引用 OPENQUERY 函数。依据 OLE DB 提供程序的能力,还可以将 OPENQUERY 函数引用为 INSERT、UPDATE 或 DELETE 语句的目标表。尽管查询可能返回多个结果集,但是 OPENQUERY 只返回第一个。语法OPENQUERY ( linked_server , 'query' ) 参数linked_server一个标识符,表示链接的服务器的名称。'query'在链接的服务器中执行的查询字符串。注释OPENQUERY 不接受参数变量。 你看这个可以不,我没试过SELECT * into newtableFROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 'Data Source="c:\Finance\account.dbf";User ID=Admin;Password=;Extended properties=FoxPro 2.6)...xactions 你的DBF到底是什么东东?VFP吗? 请教一个模糊查询 这回问点基础点的问题好了,问两条语句在性能上在差别 事务无法启动,是什么原因? 求存储过程 大家帮帮忙,我的SQL为什么不能安装??? 关于SQL语句里的like问题!!! 如果是32bit X86的CPU, 可有办法让SQL吃到4G以上的Memory? 如何在sql查询分析器中实现企业管理器中的生成sql脚本的功能? SQL高手请帮我解决 一般来说,创建的试图列的属性与数据来源保持一致,但我需要改变这种情况 请问0DD是奇数还是偶数,比较弱智的问题;谢谢各位大虾~ 建立一个呢还是建立多个关系图呢?
创建一个链接的服务器,使其允许对分布式的、针对 OLE DB 数据源的异类查询进行访问。在使用 sp_addlinkedserver 创建链接的服务器之后,此服务器就可以执行分布式查询。如果链接服务器定义为 Microsoft® SQL Server™,则可执行远程存储过程。语法
sp_addlinkedserver [ @server = ] 'server'
[ , [ @srvproduct = ] 'product_name' ]
[ , [ @provider = ] 'provider_name' ]
[ , [ @datasrc = ] 'data_source' ]
[ , [ @location = ] 'location' ]
[ , [ @provstr = ] 'provider_string' ]
[ , [ @catalog = ] 'catalog' ]参数
[ @server = ] 'server'要创建的链接服务器的本地名称,server 的数据类型为 sysname,没有默认设置。如果有多个 SQL Server 实例,server 可以为 servername\instancename。此链接的服务器可能会被引用为下面示例的数据源:SELECT *FROM [servername\instancename.]pubs.dbo.authors. 如果未指定 data_source,则服务器为该实例的实际名称。[ @srvproduct = ] 'product_name'要添加为链接服务器的 OLE DB 数据源的产品名称。product_name 的数据类型为 nvarchar(128),默认设置为 NULL。如果是 SQL Server,则不需要指定 provider_name、data_source、location、provider_string 以及目录。[ @provider = ] 'provider_name'与此数据源相对应的 OLE DB 提供程序的唯一程序标识符 (PROGID)。provider_name 对于安装在当前计算机上指定的 OLE DB 提供程序必须是唯一的。provider_name 的数据类型为nvarchar(128),默认设置为 NULL。OLE DB 提供程序应该用给定的 PROGID 在注册表中注册。[ @datasrc = ] 'data_source'由 OLE DB 提供程序解释的数据源名称。data_source 的数据类型为 nvarchar(4000),默认设置为 NULL。data_source 被当作 DBPROP_INIT_DATASOURCE 属性传递以便初始化 OLE DB 提供程序。 当链接的服务器针对于 SQL Server OLE DB 提供程序创建时,可以按照 servername\instancename 的形式指定 data_source,它可以用来连接到运行于特定计算机上的 SQL Server 的特定实例上。servername 是运行 SQL Server 的计算机名称,instancename 是用户将被连接到的特定 SQL Server 实例的名称。[ @location = ] 'location'OLE DB 提供程序所解释的数据库的位置。location 的数据类型为 nvarchar(4000),默认设置为 NULL。location 作为 DBPROP_INIT_LOCATION 属性传递以便初始化 OLE DB 提供程序。[ @provstr = ] 'provider_string'OLE DB 提供程序特定的连接字符串,它可标识唯一的数据源。provider_string 的数据类型为 nvarchar(4000),默认设置为 NULL。Provstr 作为 DBPROP_INIT_PROVIDERSTRING 属性传递以便初始化 OLE DB 提供程序。当针对 Server OLE DB 提供程序提供了链接服务器后,可将 SERVER 关键字用作 SERVER=servername\instancename 来指定实例,以指定特定的 SQL Server 实例。servername 是 SQL Server 在其上运行的计算机名称,instancename 是用户连接到的特定的 SQL Server 实例名称。[ @catalog = ] 'catalog'建立 OLE DB 提供程序的连接时所使用的目录。catalog 的数据类型为sysname,默认设置为 NULL。catalog 作为 DBPROP_INIT_CATALOG 属性传递以便初始化 OLE DB 提供程序。返回代码值
0(成功)或 1(失败)结果集
如果没有指定参数,则 sp_addlinkedserver 返回此消息:Procedure 'sp_addlinkedserver' expects parameter '@server', which was not supplied.
在给定的链接服务器(一个 OLE DB 数据源)上执行指定的直接传递查询。可以在查询的 FROM 子句中像引用表名那样引用 OPENQUERY 函数。依据 OLE DB 提供程序的能力,还可以将 OPENQUERY 函数引用为 INSERT、UPDATE 或 DELETE 语句的目标表。尽管查询可能返回多个结果集,但是 OPENQUERY 只返回第一个。语法
OPENQUERY ( linked_server , 'query' ) 参数
linked_server一个标识符,表示链接的服务器的名称。'query'在链接的服务器中执行的查询字符串。注释
OPENQUERY 不接受参数变量。
SELECT * into newtable
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\Finance\account.dbf";User ID=Admin;Password=;Extended properties=FoxPro 2.6)...xactions