to  playyuer(退休干部 卧鼠藏虫) :不要只说 y ,可否给一点实际性的参考资料?

解决方案 »

  1.   

    利用分布式查询。
    方法1:利用OpenRowSet()
           例:Select * From OpenRowSet('Microsoft.Jet.OLEDB.4.0','d:\abc.xls';[sheet1$]);
    方法2:建立链接服务器
           例:
               Exec sp_addlinkedserver
                   'abc',
                   'Excel',
                   'Microsoft.Jet.OLEDB.4.0',
                   'd:\abc.xls',
                   'Excel 5.0'           Exec sp_addlinkedsrvlogin
                 @rmtsrvname='abc',
                 @useself='false'
           执行完上述代码后,在“企业管理器”-“安全性”-“链接服务器”下就能看到名为“abc”的链接服务器。
           若你要访问abc.xls中的sheet1,select * from abc...sheet1$。你在VB中可以通过ODBC连接数据库,以执行操作。
      

  2.   

    thanks so much ,ICBOP00!(1)请问上面你所说的方法,包括我所说的功能执行,可否全部都在SQLServer的“企业管理器”里面操作就可完成?(2)执行完上面的方法后,其他操作是否都可以用标准的SQL来做?
      

  3.   

    当然可以了!
    ICBOP00(跳水自杀的鱼) 说的方法可行
      

  4.   

    (1)第一種:Select * From OpenRowSet('Microsoft.Jet.OLEDB.4.0','d:\test\abc.xls',[sheet1$])服务器: 消息 7399,级别 16,状态 1,行 1
    OLE DB 提供程序 'Microsoft.Jet.OLEDB.4.0' 报错。 
    [OLE/DB provider returned message: 找不到可安装的 ISAM。](2)第二種:          Exec sp_addlinkedserver
                   'abc',
                   'Excel',
                   'Microsoft.Jet.OLEDB.4.0',
                   'd:\test\abc.xls',
                   'Excel 5.0'           Exec sp_addlinkedsrvlogin
                 @rmtsrvname='abc',
                 @useself='false' select * from abc...sheet1$
    服务器: 消息 7399,级别 16,状态 1,行 1
    OLE DB 提供程序 'Microsoft.Jet.OLEDB.4.0' 报错。 
    [OLE/DB provider returned message: 不可识别的数据库格式 'd:\test\abc.xls'。]==========================兩種方法分別要滿足什麽條件才能正常運行?
      

  5.   

    需要条件吗?
    直接就可以了,excel是可以和数据库一样被SQL语句识别的
      

  6.   


    沒有條件,那爲什麽隨便用一個abc.xls,裏面寫幾個數字或字段,讀就會出現上面的錯誤?
      

  7.   

    爲什麽隨便用一個abc.xls,裏面寫幾個數字或字段,讀就會出現上面的錯誤??????????
      

  8.   

    你试试
    Select * From OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;HDR=no;Database=D:\abc.xls', [Sheet1$])
    必须注意EXCEL是单用户表格。在SQL Server中对Excel表进行操作时,不能另外打开EXCEL程序。当你使用链接服务器的方式对EXCELb表进行链接时,你所链接的EXCEL表必须存在才能链接。
    例如你要对d:\test\abc.xls进行链接时,abc.xls必须存在于这个目录下。