• sqlserver2005 使用OpenRowSet,opendatasource访问远程数据


    OpenRowSet

    1、向Excel查询

            方法(1)

    select * from
           OpenRowSet('microsoft.jet.oledb.4.0','Excel 8.0;HDR=yes;database=D:\testdata\test01.xls;','select * from [Sheet1$] where   sname     like ''%l%''')

    方法(2)

    select * from
          OpenRowSet('microsoft.jet.oledb.4.0','Excel 8.0;HDR=yes;database=D:\testdata\test01.xls;','select * from [Sheet1$] ')

    where sname like '%l%'
    1)hdr=yes时可以把xls的第1行作为字段看待,如第1个中hdr=no的话,where时就会报错
    2)[]和美圆$必须要,否则M$可不认这个账

    2、修改Execl

    update
     OpenRowSet('microsoft.jet.oledb.4.0','Excel 8.0;HDR=yes;database=D:\testdata\test01.xls;','select * from [Sheet1$]')
     set ssex='f' where sname like '%l%'

     

    3、导入导出

    insert into
     OpenRowSet('microsoft.jet.oledb.4.0','Excel 8.0;HDR=yes;database=D:\testdata\test01.xls;','select * from [Sheet1$]')
    select s#,sname,ssex from student

    /*=================== 导入/导出 excel 的基本方法 ===================*/

    从excel文件中,导入数据到sql数据库中,很简单,直接用下面的语句:

    /*===================================================================*/
    --如果接受数据导入的表已经存在
    insert into student(s#,sname,ssex)
    select * from
    OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;IMEX=2;DATABASE=D:\testdata\test01.xls',[sheet1$])

    --如果导入数据并生成表
    select* into aa from
    OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;IMEX=2;DATABASE=D:\testdata\test01.xls',[sheet1$])


    /*===================================================================*/
    --如果从sql数据库中,导出数据到excel,如果excel文件已经存在,而且已经按照要接收的数据创建好表头

    ,就可以简单的用:
    insert into
     OpenRowSet('microsoft.jet.oledb.4.0','Excel 8.0;HDR=yes;database=D:\testdata\test01.xls;','select * from [Sheet1$]')
    select * from 表名
    opendatasource

    (1)查看远程数据

    SELECT * 
    FROM opendatasource( 'SQLOLEDB ', 'Data Source=hpsu;User ID=sa;Password=' ).test.dbo.testtable

    (2)向远程表中添加数据

    insert opendatasource( 'SQLOLEDB ', 'Data Source=hpsu;User ID=sa;Password=' ).test.dbo.testtable 
    select * from a

     远程数据的其他访问方法参见SQLserver2005 使用openquery访问远程数据

     

     

     1.1.开启Ad Hoc Distributed Queries组件,在sql查询编辑器中执行如下语句:
     exec sp_configure 'show advanced options',1
     reconfigure
     exec sp_configure 'Ad Hoc Distributed Queries',1
     reconfigure

    1.2.关闭Ad Hoc Distributed Queries组件,在sql查询编辑器中执行如下语句:
    exec sp_configure 'Ad Hoc Distributed Queries',0
    reconfigure
    exec sp_configure 'show advanced options',0
    reconfigure

  • 相关阅读:
    Nginx 配置对流量、连接和请求的限制
    linux iptables规则介绍
    Javascript 语言精粹 代码片段合集
    Wowza® Media Systems 使用配置手册。
    如何去除My97 DatePicker控件上右键弹出官网的链接
    [转载]jQuery诞生记-原理与机制
    java swing JButton文字显示异常
    c# 内存拷贝 解决json序列化丢失私有数据(二进制序列化反序列化)
    c# Marshal 将字节数组转为结构 封装协议
    c# 串口通信及模拟串口进行调试
  • 原文地址:https://www.cnblogs.com/luluping/p/2878985.html
Copyright © 2020-2023  润新知