<dfn id="is4kg"></dfn>
  • <ul id="is4kg"></ul>
  • <abbr id="is4kg"></abbr>
  • <ul id="is4kg"></ul>
    <bdo id="is4kg"></bdo>

    Rss & SiteMap

    曙海教育集團論壇 http://www.bjzhda.cn

    曙海教育集團論壇
    共1 條記錄, 每頁顯示 10 條, 頁簽: [1]
    [瀏覽完整版]

    標題:關于“EXCEL數據導入MS SQL SERVER2000”的技術討論!

    1樓
    wangxinxin 發表于:2010-12-13 12:42:12
    1.問題:
    在用DELPHI 7編程實現"EXCEL數據導入MS SQL SERVER 2000"時提示:
    “已拒絕OLE DB提供程序‘Microsoft.Jet.OLEDB.4.0’的特殊訪問,必須通過鏈接服務器來訪問此提供程序。”
    2.現狀:
       A:MS SQL SERVER 2000數據導入EXCEL程序如下:  -----程序運行是成功的!
       第一:連接數據庫:Provider=Microsoft.Jet.OLEDB.4.0;Data Source=e:\chengji.xls;Extended Properties=excel 8.0
       第二:導入數據:SELECT bianhao,yuwen into cj_yuwen  FROM a_chengji IN [ODBC][ODBC;Driver=SQL   server;UID=sys;PWD=;Server=YUAN;DataBase=tbms;]
        說明:將a_chengji表中的bianhao,yuwen列的數據導出到e:\chengji.xls的cj_yuwen工作表中.
       B:在MS SQL SERVER 2000查詢分析器執行如下命令:  ----命令運行是成功的!
        insert into a_chengji (bianhao,yuwen,shuxue,yingyu) select bianhao,yuwen,shuxue,yingyu FROM OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="e:\chengji.xls";Extended Properties="Excel 8.0;HDR=Yes;";Persist Security Info=False')...chengji$
        說明: 將e:\chengji.xls的chengji工作表中bianhao,yuwen,shuxue,yingyu列的數據導出到a_chengji表的bianhao,yuwen,shuxue,yingyu列中.
       C:在DELPHI 7編程實現"EXCEL數據導入MS SQL SERVER 2000":
      procedure Tf_chengji.BitBtn1Click(Sender: TObject);  
      var
      s_sql:string;
      begin
        s_sql:'insert into a_chengji (bianhao,yuwen,shuxue,yingyu) select bianhao,yuwen,shuxue,yingyu FROM OpenDataSource    ('''+'Microsoft.Jet.OLEDB.4.0'+''''+ ','+''''+'Data Source="'+'e:\chengji.xls'+'";Extended Properties="Excel     8.0;HDR=Yes;";Persist Security Info=False'+''''+')...chengji$';
        ADOConnection1.Connected:=false;
        ADOConnection1.ConnectionString:='Provider=SQLOLEDB.1;Persist Security Info=false;User ID=sys;Initial Catalog=tbms';
        ADOConnection1.Connected:=true;
        ADOConnection1.Execute(s_sql);
      end;
      說明:MS SQL SERVER 2000本地數據庫tbms,用戶名:sys,密碼:無。
      運行時,提示:
      “已拒絕OLE DB提供程序‘Microsoft.Jet.OLEDB.4.0’的特殊訪問,必須通過鏈接服務器來訪問此提供程序。”
    3.分析:
      A和B的運行成功,說明MS SQL SERVER 2000和EXCEL是正常的,我們排除了MS SQL SERVER 2000和EXCEL異常的可能性。問題就出在DELPHI 7的程序上,B中命令運行成功,說明C中的s_sql語句是正確的,問題就應該在“鏈接服務器”上。
    4.解決方案:
      A:找出被拒絕特殊訪問的原因,從而解決此問題:“通過對TADOConnection控件ADOConnection1的屬性設置”。
      B:新建“鏈接服務器”,從而訪問此提供程序:
         sp_addlinkedserver N'Excel', N'Jet 4.0',
                       N'Microsoft.Jet.OLEDB.4.0',
                       N'e:\chengji.xls', NULL, N'Excel 5.0'
         GO
         exec sp_addlinkedsrvlogin N'Excel', false, sa, N'ADMIN', NULL
         可我在查詢其chengji數據時:提示說找不到chengji表,或用戶名不具備訪問權限!
         SELECT * FROM EXCEL...chengji
    5.新問題:
    A:如何設置TADOConnection控件ADOConnection1的屬性設置,以解決其被拒絕???
    B:如何編寫sp_addlinkedsrvlogin,以使“用戶名:sys,密碼:無”有權限????
    C: 如果用sp_addlinkedserver建立新鏈接服務器,又應該如何在DELPHI 7編程實現"EXCEL數據導入MS SQL SERVER 2000"???
    共1 條記錄, 每頁顯示 10 條, 頁簽: [1]

    Copyright © 2000 - 2009 曙海教育集團
    Powered By 曙海教育集團 Version 2.2
    Processed in .01563 s, 2 queries.