分布式查询 opendatasource()
2007-03-13 11:06
148 查看
insert into t_gene_sy_pres (pres_name,address,byrs,edus_id,gdrxnl,kinderclass_id,kindertype_id)
SELECT pres_name,address,cast(byrs as numeric),cast(edus_id as numeric),cast(gdrxnl as numeric),
cast(kinderclass_id as numeric),cast(kindertype_id as numeric) FROM OpenDataSource('Microsoft.Jet.OLEDB.4.0',
'Data Source="F:/TEST/TEST.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[T_GENE_SY_PRES]
update opendatasource('Microsoft.Jet.OLEDB.4.0','Data Source="F:/各幼儿园师生资料/已处理/zhiye.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$] set 职位='其他' where 职位 not in ('园长','教师','保健员','保育员','营养员',保教主任','财务','报帐员','书记','园长助理')
insert into opendatasource('Microsoft.Jet.OLEDB.4.0','Data Source="F:/资源.xls";User ID=Admin;Password=;Extended Properties=Excel 5.0')...[Sheet1$]
select p.pres_name,c.cla_name,f.res_title,f.res_path,f.pub_time from opendatasource('SQLOLEDB','Data Source=;User ID=sa;Password=').[pd-baby].dbo.t_gene_re_file f
join opendatasource('SQLOLEDB','Data Source=;User ID=sa;Password=').[pd-baby].dbo.t_gene_re_class c on
f.cla_id = c.cla_id join opendatasource('SQLOLEDB','Data Source=;User ID=sa;Password=').[pd-baby].dbo.t_gene_sy_pres p
on f.pres_id = p.pres_id order by p.pres_name
从paradox中导入数据到sql server:
?
SELECT *
?? FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
? 'Data Source="E:/caozhBack/hesgxzh/data/";Extended properties=paradox 5.x')...resttem2
?
?
二,属性Extended properties:
DBase 5.0
DBASE IV
FoxPro 3.0
Paradox 7.X
Excel 8.0
text;HDR=YES;FMT=Delimited
?
?
三、同类应用
1.在SQL SERVER里查询access数据:
SELECT *
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:/DB.mdb";User ID=Admin;Password=')...表名
?
2.将access导入SQL server
在SQL SERVER 里运行:
SELECT *
INTO newtable
FROM OPENDATASOURCE ('Microsoft.Jet.OLEDB.4.0',
????? 'Data Source="c:/DB.mdb";User ID=Admin;Password=' )...表名
?
3.将SQL SERVER表里的数据插入到Access表中
在SQL SERVER 里运行:
insert into OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
? 'Data Source=" c:/DB.mdb";User ID=Admin;Password=')...表名
(列名1,列名2)
select 列名1,列名2? from? sql表
实例:
insert into? OPENROWSET('Microsoft.Jet.OLEDB.4.0',
?? 'C:/db.mdb';'admin';'', Test)
select id,name from Test
INSERT INTO OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'c:/trade.mdb'; 'admin'; '', 表名)
SELECT *
FROM sqltablename
?
4、在SQL SERVER里查询Excel数据:
SELECT *
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:/book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]
下面是个查询的示例,它通过用于 Jet 的 OLE DB 提供程序查询 Excel 电子表格。
SELECT *
FROM OpenDataSource ( 'Microsoft.Jet.OLEDB.4.0',
? 'Data Source="c:/Finance/account.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions
?
5、将Excel的数据导入SQL server :
SELECT * into newtable
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
? 'Data Source="c:/book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]
实例:
SELECT * into newtable
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
? 'Data Source="c:/Finance/account.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions
?
6、将SQL SERVER中查询到的数据导成一个Excel文件
T-SQL代码:
EXEC master..xp_cmdshell 'bcp 库名.dbo.表名out c:/Temp.xls -c -q -S"servername" -U"sa" -P""'
参数:S 是SQL服务器名;U是用户;P是密码
说明:还可以导出文本文件等多种格式
实例:EXEC master..xp_cmdshell 'bcp saletesttmp.dbo.CusAccount out c:/temp1.xls -c -q -S"pmserver" -U"sa" -P"sa"'
?EXEC master..xp_cmdshell 'bcp "SELECT au_fname, au_lname FROM pubs..authors ORDER BY au_lname" queryout C:/ authors.xls -c -Sservername -Usa -Ppassword'
在VB6中应用ADO导出EXCEL文件代码:
Dim cn? As New ADODB.Connection
cn.open "Driver={SQL Server};Server=WEBSVR;DataBase=WebMis;UID=sa;WD=123;"
cn.execute "master..xp_cmdshell 'bcp "SELECT col1, col2 FROM 库名.dbo.表名" queryout E:/DT.xls -c -Sservername -Usa -Ppassword'"
7、在SQL SERVER里往Excel插入数据:
insert into OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:/Temp.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...table1 (A1,A2,A3) values (1,2,3)
T-SQL代码:
INSERT INTO?
?OPENDATASOURCE('Microsoft.JET.OLEDB.4.0',?
?'Extended Properties=Excel 8.0;Data source=C:/training/inventur.xls')...[Filiale1$]?
?(bestand, produkt) VALUES (20, 'Test')?
?
8、将SQLServer导入到文本文件
连接串
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:/temp;Extended Properties="text;HDR=YES;";Persist Security Info=False
SQL语句
SELECT * into aaa.txt? FROM Tab1 IN [ODBC]
[ODBC;Driver=SQL Server;UID=sa;PWD=;Server=127.0.0.1;DataBase=Demo;]
要改变分隔符,可以修改
Schema.ini文件。该文件中指明分割符,如:
??? [yourfile.txt]
??? ...
??? Format=Delimited(|)
更详细的例子可以参考:微软的Knowledge Base的文章:“Q149090 CC: How to Use Schema.ini for Accessing Text Data”和微软的Knowledge Base的文章:“Q187670 OWTO: Use RDO and ODBC Text Driver to Open a Delimited Text”。
?
SELECT pres_name,address,cast(byrs as numeric),cast(edus_id as numeric),cast(gdrxnl as numeric),
cast(kinderclass_id as numeric),cast(kindertype_id as numeric) FROM OpenDataSource('Microsoft.Jet.OLEDB.4.0',
'Data Source="F:/TEST/TEST.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[T_GENE_SY_PRES]
update opendatasource('Microsoft.Jet.OLEDB.4.0','Data Source="F:/各幼儿园师生资料/已处理/zhiye.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$] set 职位='其他' where 职位 not in ('园长','教师','保健员','保育员','营养员',保教主任','财务','报帐员','书记','园长助理')
insert into opendatasource('Microsoft.Jet.OLEDB.4.0','Data Source="F:/资源.xls";User ID=Admin;Password=;Extended Properties=Excel 5.0')...[Sheet1$]
select p.pres_name,c.cla_name,f.res_title,f.res_path,f.pub_time from opendatasource('SQLOLEDB','Data Source=;User ID=sa;Password=').[pd-baby].dbo.t_gene_re_file f
join opendatasource('SQLOLEDB','Data Source=;User ID=sa;Password=').[pd-baby].dbo.t_gene_re_class c on
f.cla_id = c.cla_id join opendatasource('SQLOLEDB','Data Source=;User ID=sa;Password=').[pd-baby].dbo.t_gene_sy_pres p
on f.pres_id = p.pres_id order by p.pres_name
异类查询(OpenDataSource)
一,实例:从paradox中导入数据到sql server:
?
SELECT *
?? FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
? 'Data Source="E:/caozhBack/hesgxzh/data/";Extended properties=paradox 5.x')...resttem2
?
?
二,属性Extended properties:
DBase 5.0
DBASE IV
FoxPro 3.0
Paradox 7.X
Excel 8.0
text;HDR=YES;FMT=Delimited
?
?
三、同类应用
1.在SQL SERVER里查询access数据:
SELECT *
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:/DB.mdb";User ID=Admin;Password=')...表名
?
2.将access导入SQL server
在SQL SERVER 里运行:
SELECT *
INTO newtable
FROM OPENDATASOURCE ('Microsoft.Jet.OLEDB.4.0',
????? 'Data Source="c:/DB.mdb";User ID=Admin;Password=' )...表名
?
3.将SQL SERVER表里的数据插入到Access表中
在SQL SERVER 里运行:
insert into OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
? 'Data Source=" c:/DB.mdb";User ID=Admin;Password=')...表名
(列名1,列名2)
select 列名1,列名2? from? sql表
实例:
insert into? OPENROWSET('Microsoft.Jet.OLEDB.4.0',
?? 'C:/db.mdb';'admin';'', Test)
select id,name from Test
INSERT INTO OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'c:/trade.mdb'; 'admin'; '', 表名)
SELECT *
FROM sqltablename
?
4、在SQL SERVER里查询Excel数据:
SELECT *
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:/book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]
下面是个查询的示例,它通过用于 Jet 的 OLE DB 提供程序查询 Excel 电子表格。
SELECT *
FROM OpenDataSource ( 'Microsoft.Jet.OLEDB.4.0',
? 'Data Source="c:/Finance/account.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions
?
5、将Excel的数据导入SQL server :
SELECT * into newtable
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
? 'Data Source="c:/book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]
实例:
SELECT * into newtable
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
? 'Data Source="c:/Finance/account.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions
?
6、将SQL SERVER中查询到的数据导成一个Excel文件
T-SQL代码:
EXEC master..xp_cmdshell 'bcp 库名.dbo.表名out c:/Temp.xls -c -q -S"servername" -U"sa" -P""'
参数:S 是SQL服务器名;U是用户;P是密码
说明:还可以导出文本文件等多种格式
实例:EXEC master..xp_cmdshell 'bcp saletesttmp.dbo.CusAccount out c:/temp1.xls -c -q -S"pmserver" -U"sa" -P"sa"'
?EXEC master..xp_cmdshell 'bcp "SELECT au_fname, au_lname FROM pubs..authors ORDER BY au_lname" queryout C:/ authors.xls -c -Sservername -Usa -Ppassword'
在VB6中应用ADO导出EXCEL文件代码:
Dim cn? As New ADODB.Connection
cn.open "Driver={SQL Server};Server=WEBSVR;DataBase=WebMis;UID=sa;WD=123;"
cn.execute "master..xp_cmdshell 'bcp "SELECT col1, col2 FROM 库名.dbo.表名" queryout E:/DT.xls -c -Sservername -Usa -Ppassword'"
7、在SQL SERVER里往Excel插入数据:
insert into OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:/Temp.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...table1 (A1,A2,A3) values (1,2,3)
T-SQL代码:
INSERT INTO?
?OPENDATASOURCE('Microsoft.JET.OLEDB.4.0',?
?'Extended Properties=Excel 8.0;Data source=C:/training/inventur.xls')...[Filiale1$]?
?(bestand, produkt) VALUES (20, 'Test')?
?
8、将SQLServer导入到文本文件
连接串
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:/temp;Extended Properties="text;HDR=YES;";Persist Security Info=False
SQL语句
SELECT * into aaa.txt? FROM Tab1 IN [ODBC]
[ODBC;Driver=SQL Server;UID=sa;PWD=;Server=127.0.0.1;DataBase=Demo;]
要改变分隔符,可以修改
Schema.ini文件。该文件中指明分割符,如:
??? [yourfile.txt]
??? ...
??? Format=Delimited(|)
更详细的例子可以参考:微软的Knowledge Base的文章:“Q149090 CC: How to Use Schema.ini for Accessing Text Data”和微软的Knowledge Base的文章:“Q187670 OWTO: Use RDO and ODBC Text Driver to Open a Delimited Text”。
?
相关文章推荐
- 分布式查询 四部分构成的名字、OpenDataSource()、 OpenQuery()、 OpenRowSet()
- 分布式查询 四部分构成的名字、OpenDataSource()、 OpenQuery()、 OpenRowSet()
- 分布式查询 四部分构成的名字、OpenDataSource()、 OpenQuery()、 OpenRowSet()
- 【利用OpenDataSource、OPENROWSET进行分布式查询和数据的导入导出】
- 分布式查询 opendatasource()
- 分布式查询 四部分构成的名字、OpenDataSource()、 OpenQuery()、 OpenRowSet()
- 【利用OpenDataSource、OPENROWSET进行分布式查询和数据的导入导出】
- 急求:分布式查询问题
- 关于分布式查询方案的讨论
- 分布式搜索elasticsearch的5种分片查询优先级
- sql server中分布式查询随笔(链接服务器(sp_addlinkedserver)和远程登录映射(sp_addlinkedsrvlogin)
- 分布式查询 [转]
- 一共81个,开源大数据处理工具汇总:查询引擎、流式计算、迭代计算、离线计算、键值存储、表格存储、文件存储、资源管理、日志收集系统、消息系统、分布式服务、集群管理、基础设施、搜索引擎、数据挖掘=监控
- 使用kibana+logstash+elasticsearch+redis搭建分布式日志收集、分析、查询系统。
- SQLServer跨库查询--分布式查询
- 大数据系列之分布式大数据查询引擎Presto
- sql 分布式查询 (sp_addlinkedserver使用方法)
- 公开分布式高性能查询的源代码和部署方案(一)
- 公开分布式高性能查询的源代码和部署方案.(二)
- 分布式查询之链接服务器-SQL Server/Access