小弟目前有兩台電腦
電腦A架設IIS IP為192.168.2.113
電腦B則是擺放資料庫的地方 IP為192.168.2.111
現在有各疑問是架設在電腦A的ASP若要抓取電腦B ACCESS資料表的資料的話,Connection String 要怎麼寫呢?
目前有試過一各方法是ODBC連網路磁碟機至電腦B,但是ODBC似乎只能連自己本身的資料庫...
煩請各位解答...謝謝
小弟目前有兩台電腦
電腦A架設IIS IP為192.168.2.113
電腦B則是擺放資料庫的地方 IP為192.168.2.111
現在有各疑問是架設在電腦A的ASP若要抓取電腦B ACCESS資料表的資料的話,Connection String 要怎麼寫呢?
目前有試過一各方法是ODBC連網路磁碟機至電腦B,但是ODBC似乎只能連自己本身的資料庫...
煩請各位解答...謝謝
不需要連遠端磁碟
因為asp是server side script
所以只要在安裝iis的電腦設好odbc連到同一台電腦的mdb即可
或者用oledb,可以不設odbc
Dim Provider, DBPath
Provider = "Provider=Microsoft.Jet.OLEDB.4.0;"
DBPath = "Data Source=" & Server.MapPath(FileName)
Set GetMdbConnection = GetConnection( Provider & DBPath )
目前小弟為connection string為:
Set DBConnection=Server.CreateObject("ADODB.Connection")
ConnectionString ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("sa.mdb")
DBConnection.Open ConnectionString
Set RS=Server.CreateObject("ADODB.Recordset")
RS.Open "SA",DBConnection
以上的寫法是sa.mdb是放在IIS的預設目錄裡,但是現在mdb是放在網路上的另一台電腦ip為192.168.2.111,小弟的問題是如何把路徑指向那台電腦的MDB,煩請各位指導。謝謝
1.因為預算不足作者:ranger
2.放資料庫的電腦的廠商不願意架SERVER因為牽涉到一些索賠的問題,怕架server電腦容易被攻擊
所以現在就卡在這些問題上打轉,沒有其他辦法能做嗎?
如果一定要連絡路磁碟當然也可以
在設odbc時指向已連線的網路磁碟及路徑
connection string只要設為 "dsn=xxxx"即可
等號右的xxxx為設好的odbc名稱
例如
set Recordset1 = Server.CreateObject("ADODB.Recordset")
Recordset1.ActiveConnection = "dsn=xxxx;"
只是用網路磁碟的方式更要注意安全考量
而且個人覺得mdb實在無需放在另一台電腦上
沒必要
這週末嘗試著把您的語法加入到程式碼裡...但對DSN的寫法不熟,遇到些許問題...目前小弟在連結資料庫的程式碼部分為下,要如何把DSN的部分寫進去呢? 麻煩您指點迷津,謝謝:
<%
'宣告Connection(資料庫連結)物件
Set DBConnection=Server.CreateObject("ADODB.Connection")
'開啟資料庫通道
DBConnection.Open "sa"
'RECORDSET物件
Set RS=Server.CreateObject("ADODB.Recordset")
'開啟資料表
RS.Open "SA",DBConnection
%>
以下是小弟修改後的程式碼,ODBC現在設在K網路磁碟機)上且名稱為SA,使用DSN連結之後,還是沒辦法顯示資料。如果同樣設定把ODBC設在本機的C:上的話,資料顯示就沒問題。不知道是否程式哪各部份忘了加導致ODBC無法設在網路磁碟機上。那我的程式碼要如何改呢? 煩請各位大大指教...謝謝
<HTML>
<HEAD>
<TITLE>哲學之道中興保全</TITLE>
</HEAD>
<body bgcolor="#FFFFFF">
<Center><font size = "16">哲學之道中興保全 </font>
<%
Dim strDBDSN, strSQL, objDBConn, objRS, intFCount,intl
'資料庫的資料來源
strDBDSN = "DSN=sa;uid=jimmy;pwd=1234"
'資料庫查詢的語法
strSQL = "select * from messagebarhistory order by 發生日期 desc"
'建立資料庫連結物件
Set objDBConn = Server.CreateObject("ADODB.Connection")
objDBConn.Open strDBDSN
'執行SQL的資料庫查詢
Set objRS = objDBconn.Execute(strSQL)
'取得欄位數目
intFCount = objRS.Fields.Count-1
'檢查是否有紀錄
If Not objRS.Eof Then
Response.Write "<table border=1><tr>"
'顯示資料庫的欄位名稱
For intl = 0 to intFCount
Response.Write "<td><b>" & objRS(intl).Name & "</b></td>"
Next
Response.Write "</tr>"
'顯示資料庫內容
Do While Not objRS.Eof
Response.Write "</tr>"
'顯示每筆紀錄的欄位
For intl = 0 to intFCount
If objRS.Fields(intl).Value <> "" Then
Response.Write "<td valign = ""top"">" &_
objRS.Fields(intl).Value & "</td>"
Else
Response.Write "<td valign=""top"">-</td>"
End If
Next
Response.Write "</tr>"
objRS.MoveNext
Loop
Response.Write "</table>"
End If
objRS.Close
Set objRS = Nothing
objDBConn.Close
Set objDBConn = Nothing
%>
</center>
</body>
</html>
書籤