zoukankan      html  css  js  c++  java
  • 将Excel数据导入到SQL Server数据库中

    这个方法是到目前为止我见到最好的方法,还有几个要注意的问题也在下面提到了哦!其中还涉及到要注意到地方都在下面累出来了

    1)接受数据导入的表已经存在。  
         insert into t1 select * from  OPENROWSET('MICROSOFT.JET.OLEDB.4.0'  ,
         'Excel 5.0;HDR=YES;DATABASE=c:\\test.xls',sheet1$); 

    这里默认是Excel的工作表一即sheet1,但是记住一定要加"$"

    2)导入数据并生成表。 
         select * into t1 from  OPENROWSET('MICROSOFT.JET.OLEDB.4.0',
         'Excel 5.0;HDR=YES;DATABASE=c:\\test.xls',sheet1$);

    3) 导入Excel中指定的列到数据库表中指定的列。
         INSERT INTO t1(a1,a2,a3) SELECT a1,a2,a3 FROM OPENROWSET
    'MICROSOFT.JET.OLEDB.4.0' ,'Excel5.0; HDR=YES; DATABASE=c:\\test.xls',sheet1$);

    需要注意的地方。
    1)外围应用配置器的设置。
        从“功能外围应用配置器”中选择“启动 OPENROWSET 和 OPENDATASOURCE 支持”选项。
    这里可以通过SQL语句进行服务的开关,关于这个开关在我的博客上已经有了。
    地址是:
    http://www.cnblogs.com/forever4444/archive/2009/07/22/1528692.html
    2)关闭Excel表。
         如果在导入时要导入的Excel表格处于打开状态,会提示:
       “无法初始化链接服务器 "(null)" 的 OLE DB 访问接口 "microsoft.jet.oledb.4.0" 的数据源对象。”
    3)导入数据时,Excel的首行会作为表头,若导入到已存在的数据库表,则忽略首行。

    常遇到的两个问题:
    问题一】:已拒绝对 OLE DB 提供程序 'MICROSOFT.JET.OLEDB.4.0' 的特殊访问。必须通过链接服务器来访问此提供程序。
    分析】:这是因为您当前用来访问数据库的登录的权限不够(权限太低)。
    解决】:要么您还用sa登录,要么修改当前登录的权限,步骤如下:企业管理器→安全性→登录→找到你所用的登录名→右击"属性"→服务器角色→将System Administrator选项打钩→确定即可。 【问题二】:OLE DB 提供程序 'MICROSOFT.JET.OLEDB.4.0' 报错。提供程序未给出有关错误的任何信息。  OLE DB 错误跟踪[OLE/DB Provider 'MICROSOFT.JET.OLEDB.4.0' IDBInitialize::Initialize returned 0x80004005:  提供程序未给出有关错误的任何信息。]。
    分析】:
          首先先检查一下你用来导入的Excel表是否已经打开,如果打开了,请关闭后重试一下。
    还 是不行的话,继续往下看。如果你用来数据库操作的sql语句是用striing字符串保存的,且其中包含着.xsl文件的存放路径。那么问题可能就出在这 个路径上。您是否值用了一个斜杠"\"。如果只有一个斜杠的话,在运行前,错误列表中会提示"无法识别转义序列"。一旦运行,该提示就会消失,可能您就是 因为这样而没有注意到这错误。
  • 相关阅读:
    实用机器学习 跟李沐学AI
    Explicitly drop temp table or let SQL Server handle it
    dotnettransformxdt and FatAntelope
    QQ拼音输入法 禁用模糊音
    (技术八卦)Java VS RoR
    Ruby on rails开发从头来(windows)(七)创建在线购物页面
    Ruby on rails开发从头来(windows)(十三)订单(Order)
    Ruby on rails开发从头来(windows)(十一)订单(Order)
    新员工自缢身亡,华为又站到了风口浪尖
    死亡汽油弹(Napalm Death)乐队的视频和来中国演出的消息
  • 原文地址:https://www.cnblogs.com/forever4444/p/1528826.html
Copyright © 2011-2022 走看看