台灣最大程式設計社群網站
線上人數
2370
 
會員總數:246575
討論主題:190032
歡迎您免費加入會員
討論區列表 >> MS SQL >> 急問~Excel和SQL的問題!
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
急問~Excel和SQL的問題!
價值 : 0 QP  點閱數:3166 回應數:12
樓主

Jennifer
初學者
540 151
920 449
發送站內信

請問各位高手:

我要將Excel檔存入SQL6.5--不可用DTS,參考小舖裡的範例寫的code,卻出現如下:
SQL Server 的 Microsoft OLE DB 提供者 錯誤 '80004005' 
[DBNMPNTW]找不到指定的 SQL Server
能否請各位幫我看一下,我是新手--己頭痛很久了! 感激不盡~
<%
  Dim Conn
  Set conn = Server.CreateObject("ADODB.Connection")
  Provider = "Provider=SQLOLEDB.1;"
  Password = "Password = xxxxxx;"
  UID = "User ID=sa;"
  IC = "Initial Catalog = Test;"
  DBPath = "Data Source=" & Server.MapPath("File_Name")
  Driver = "Driver={Microsoft Excel Driver (*.xls)};"  

  conn.Open Provider & Password & UID & IC & DBPath & Driver

  Set rs = Server.CreateObject("ADODB.Recordset")
  sql = "Select * from [Sheet1$]"
  rs.open sql,conn,1,3
 
  set rs=conn.execute("select * from [Sheet1$]")
    do until rs.eof
      strsql="insert into myTable(var_name)values('"& rs(1) &"')"
      connSQL.execute strsql
      rs.movenext
    loop  
%>

本篇文章發表於2002-12-16 16:56
1樓
回應

Allen
捐贈 VP 給 Allen 檢舉此回應
程式看起來怪怪地,我是寫成
Set Conn_xls=Server.CreateObject("ADODB.Connection")
        Driver = "Driver={Microsoft Excel Driver (*.xls)};"
        DBPath = "DBQ=" & Server.MapPath("myfile.xls")
        Conn_xls.Open Driver & DBPath
其中myfile.xls是檔名,你要改一下
本篇文章回覆於2002-12-16 18:06
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

Jennifer
檢舉此回應
可否請問一下...
您寫的部份是連excel檔?但要寫入SQL DB呢?
對不起! 我實在很頭痛~
可否多給我一些指導?! Thanks!
本篇文章回覆於2002-12-17 00:48
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

Allen
捐贈 VP 給 Allen 檢舉此回應
比較簡單的方法是建二個connection
connSQL=...
connExcel=...
...
set rs=connExcel.execute("select * from [Sheet1$]") <--這裡用connExcel
    do until rs.eof
      strsql="insert into myTable(var_name)values('"& rs(1) &"')"
      connSQL.execute strsql<--這裡用connSQL
      rs.movenext
    loop  
本篇文章回覆於2002-12-17 10:25
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

Jennifer
檢舉此回應
謝謝Allen! 我有一點了了...
但我的程式好像無法link到DB,Error message:
SQL Server 的 Microsoft OLE DB 提供者 錯誤 '80040e4d' 
Login failed 
/Upload/WriteToDB1.asp, 列13 
---------------------------------------------------
可否再請您幫我看一下! 多謝,多謝!!!
<%
  Set ConnXls = Server.CreateObject("ADODB.Connection")
          Driver = "Driver={Microsoft Excel Driver (*.xls)};"
          DBPath = "DBQ=" & Server.MapPath("Book1.xls")  
          ConnXls.Open Driver & DBPath

  Set ConnSQL = Server.CreateObject("ADODB.Connection")
          Provider = "Provider = SQLOLEDB.1;"
          Password = "Password = xxxxxx;"
          UID = "User ID = xx;"
          IC = "Initial Catalog = Test;"
          DS = "Data Source = xxx.xxx.xxx.xxx;"
          ConnSQL.Open Provider & Password & UID & IC & DS
          
  set rs=ConnXls.execute("select * from [Sheet1$]")
    do until rs.eof
      strsql="insert into Table1(var_name)values('"& rs(1) &"')"
      ConnSQL.execute strsql
      rs.movenext
    loop  
%>
本篇文章回覆於2002-12-17 10:43
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

Allen
捐贈 VP 給 Allen 檢舉此回應
看起來好像是無法login,你不妨再確認一下登入的帳號及密碼是否正確,並且有適當的權限使用該資料庫
本篇文章回覆於2002-12-17 10:50
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

Jennifer
檢舉此回應
以上提到的那些,我都Check過了!
實找不出問題在那?! 在你那真的可以run嗎?
Thanks a lot!!!
本篇文章回覆於2002-12-17 11:13
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

Allen
捐贈 VP 給 Allen 檢舉此回應
在我這裡當然不能正常執行你的程式,只能用肉眼看,並提供你可能錯誤的原因, 因為我沒有你的Excel,SQL DB,所以無法執行
但這類的程式(upload EXCEL file and Import Data), 應該有做過20個以上了, 細節會因客戶要求的細節而異
本篇文章回覆於2002-12-17 11:20
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
作者回應

Jennifer
檢舉此回應
我了解了! 謝謝!!!
但無法login的原因,不曉得在那?
真傷腦筋!

本篇文章回覆於2002-12-17 11:34
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
回應

Allen
捐贈 VP 給 Allen 檢舉此回應
無法login的原因不止一個,要你自己檢查, 如果你以前從未寫過連結到SQL的程式, 說不定你連帳號設定就有問題了
本篇文章回覆於2002-12-17 11:39
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
作者回應

Jennifer
檢舉此回應
我以前真的沒寫過這類的程式!^^"
您說的"帳號設定"要設什呀?
Ths!
本篇文章回覆於2002-12-17 11:53
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
11樓
回應

Allen
捐贈 VP 給 Allen 檢舉此回應
如果你沒寫過, 那麼,我列出一些項目, 你自己查查,以便知道哪裡你漏了做
Password = "Password = 123;"
UID = "User ID = allen;"
IC = "Initial Catalog = Test;"
DS = "Data Source = 10.1.1.100;"

以上程式,表示:
你安裝SQL Server 電腦的IP為10.1.1.100
SQL Server 中, 你有一個名為"Test" 的資料庫
SQL Server 中, 你有建立一個名為 "allen",密碼為 123 的帳號, 並且它有權限使用Test

如果上述你有錯的, 就改一下程式, 如果你有不會做的設定, 由於那算是基本的, 你可以看SQL Server 入門書,或再請教其他人

本篇文章回覆於2002-12-17 11:59
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
12樓
作者回應

Jennifer
檢舉此回應
連上DB了! 感謝,感謝~
本篇文章回覆於2002-12-18 16:23
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.