ADO 經 ODBC 存取 Oracle 8 存在數字欄位無法讀取、速度極慢等問題。OO4O (Oracle Object for OLE) 為 Oracle 官方提供的 OLE Server,直接支援所有 OLE 相容應用 (含 ASP) 高效存取 Oracle。
需先用 SQL*Net/Net8 設定 Database Alias 並測試連線。
OraClient, OraSession, OraConnection, OraDatabase, OraDynaset, OraSQLStmt, OraField, OraParameter, OraParameterArray。
<%
Set OraSession = CreateObject("OracleInProcServer.XOraSession")
Set OraDatabase = OraSession.DbOpenDatabase("orant", "scotter/tiger", 0)
SQL = "SELECT * FROM cq_hjwj"
Set OraDynaset = OraDatabase.DbCreateDynaset(SQL, 0)
PageSize = 15
If OraDynaset.RecordCount = 0 Then
Response.Write "無符合條件的資料"
Else
Pages = Int(OraDynaset.RecordCount / PageSize)
If Pages * PageSize = OraDynaset.RecordCount Then Pages = Pages Else Pages = Pages + 1
Page = IIf(Request("page")="", 1, CStr(Request("page")))
StartRow = (Page-1)*PageSize + 1
EndRow = Page*PageSize
OraDynaset.MoveTo StartRow
' 輸出表頭與資料迴圈
For J = StartRow To EndRow
' ...
OraDynaset.DbMoveNext
If OraDynaset.EOF Then Exit For
Next
' 輸出分頁連結
End If
Set OraSession = Nothing
%>
經 Windows NT 4.0 + IIS 4.0 測試通過,顯著提升 Web 端存取 Oracle 效率。