zoukankan      html  css  js  c++  java
  • 向SQL2008R2导入Acess、excel数据

    一:导入Access数据
    1、在sql2008查询分析 器中输入如下查询语句能查出access中的数据
    Sql代码 复制代码 收藏代码
    1. SELECT * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0''Data Source="e: \xx.mdb";User ID=Admin;Password=;Jet OLEDB:Database Password=123456')...gouqi  
    SELECT * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 'Data Source="e: \xx.mdb";User ID=Admin;Password=;Jet OLEDB:Database Password=123456')...gouqi

    2、将access 中数据导入到sql2008中
    Sql代码 复制代码 收藏代码
    1. SELECT * into sql表名 FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0''Data Source="e: \xx.mdb";User ID=Admin;Password=;Jet OLEDB:Database Password=123456')...access表名  
    SELECT * into sql表名 FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 'Data Source="e: \xx.mdb";User ID=Admin;Password=;Jet OLEDB:Database Password=123456')...access表名


    注:'sql表名' 不要事先建好!!!
    二:Excel数据
       1、向现有表中导入数据
    Sql代码 复制代码 收藏代码
    1. INSERT INTO 表 SELECT * FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=c: est.xls',sheet1$)  
    INSERT INTO 表 SELECT * FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=c:	est.xls',sheet1$)

      2、导入数据并新增表
    Sql代码 复制代码 收藏代码
    1. SELECT * INTO 表 FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=c: est.xls',sheet1$)  
    SELECT * INTO 表 FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=c:	est.xls',sheet1$)

      3、导入部分列到表中
    Sql代码 复制代码 收藏代码
    1. INSERT INTO 表 (a1,a2,a3) SELECT a1,a2,a3 FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=c: est.xls',sheet1$)  
    INSERT INTO 表 (a1,a2,a3) SELECT a1,a2,a3 FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=c:	est.xls',sheet1$)

    三:过程中遇到的问题备忘
       1、查不出来
         1.1:
    引用
    消息 15281,级别 16,状态 1,第 1 行
    SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT 'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'Ad Hoc Distributed Queries'。有关启用 'Ad Hoc Distributed Queries' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。

    http://blog.csdn.net/the_pain/archive/2009/04/23/4103518.aspx
         1.2:环境是:windows server 2008 r2  ,sql server 2008 查询时报:
    引用
    消息 7308,级别 16,状态 1,第 2 行
    因为 OLE DB 访问接口 'Microsoft.Jet.OLEDB.4.0' 配置为在单线程单元模式下运行,所以该访问接口无法用于分布式查询。

          解决:1、下载64位驱动http://www.microsoft.com/en-us/download/details.aspx?id=13255
                并将连接字符改成:Microsoft.ACE.OLEDB.12.0
       2、excel 导入库中为科学计算法显示
    http://xinming-me.iteye.com/blog/1490522
       网上的方法有可能还解决不了导入后是科学计算显示
       在生成excel时将所有内容转成字符或文本形式,比如,我是从查询结果中复制的数据,手工拷到excel表中的,我只要保证 查询出来的结果集 是文本就OK了。

       ->将excel 中的数据复制到 txt中;
       ->再将excel中的数据全部干掉;
       ->全选,设置一下excel 格式为文本
       ->从txt中重新将数据复制到excel表格中
       ->导入

    4、表a,b  导入 表x

    Sql代码 复制代码 收藏代码
    1. insert into x(cardnum,username,unitprice,zuihougouqiliang,buygasamount,beizhu)   
    2. select a.用户编号 cardnum,a.用户姓名 username,a.购气价格 unitprice,   
    3. b.购气数量 zuihougouqiliang,b.总气量 buygasamount,b.备用2 beizhu   
    4. from a left join b on (a.id=b.id)   
    insert into x(cardnum,username,unitprice,zuihougouqiliang,buygasamount,beizhu)
    select a.用户编号 cardnum,a.用户姓名 username,a.购气价格 unitprice,
    b.购气数量 zuihougouqiliang,b.总气量 buygasamount,b.备用2 beizhu
    from a left join b on (a.id=b.id) 
  • 相关阅读:
    oracle的安装与plsql的环境配置
    Working with MSDTC
    soapui-java.lang.Exception Failed to load url
    Oracle 一个owner访问另一个owner的table,不加owner
    Call API relation to TLS 1.2
    Call API HTTP header Authorization: Basic
    VS2008 .csproj cannot be opened.The project type is not supported by this installat
    The changes couldn't be completed.Please reboot your computer and try again.
    Create DB Table View Procedure
    DB Change
  • 原文地址:https://www.cnblogs.com/a1991322/p/3270483.html
Copyright © 2011-2022 走看看