SharePoint :: Using SharePoint Designer Display Oracle Rows
前兩篇提到在 SPD 中使用 Data Form Web Part & ASP.NET Control 顯示 SQL Server 資料
- SharePoint :: Using SharePoint Designer Display SQL Server Rows (via Data Form Web Part)
- SharePoint :: Using SharePoint Designer Display SQL Server Rows (via ASP.NET Control)
對於 Oracle 也是如此,若用 OLEDB 則需修改 xml 的連線字串資訊,請繼續閱讀…
本篇有兩種方式,一是 OLEDB,另一是使用 SQL Server Linked Server,主要的步驟如下:
- 安裝 Oracle Client,不管使用 ODBC, OLE DB 都要有 Oracle Client
- 可使用 OLEDB、ODBC 或 Linked Server 做資料連線設定
- 如果使用 OLEDB,於連接字串設定後,會發生伺服器錯誤可先忽略,但完成後無法顯示資料
- 在網站的 _catalogs\Forms\ 下修改 OLEDB.xml 的字串設定
- OLEDB 的方式無法使用使用篩選、排序等功能,移除後才能正常在 SharePoint 上顯示
使用 OLEDB
此處可先忽略
修改 OLEDB.xml,其中 root … 一段要修正…
<udc:DataSource xmlns:udc="http://schemas.microsoft.com/data/udc" MajorVersion="2" MinorVersion="0">
<udc:Name>OLEDB</udc:Name>
<udc:ConnectionInfo>
<DataSourceControl><CDATA><asp:SqlDataSource runat="server" ConnectionString="Data Source=orcl;User ID=aaa;Password=1234;Unicode=True" ProviderName="System.Data.OracleClient" ID="SqlDataSource1" SelectCommand="select * from hr.departments" __designer:Provider="OraOLEDB.Oracle" __designer:customcommand="true" __designer:customconnectionstring="true"></asp:SqlDataSource></DataSourceControl>
</udc:ConnectionInfo><udc:Type MajorVersion="1" MinorVersion="0" Type="Sql"/></udc:DataSource>
修正完成後,即可顯示資料,如果還是無法顯示,代表字串中還有錯誤
分頁功能在 Designer 環境中可以顯示,但是到了網站上會發生組件錯誤…
移除分頁後,就可正常顯示了!
使用 SQL Server Linked Server
在 SQL Server 中設定好 Linked Server 後 (Linked Server 可參考:SQL :: Linked Server and Oracle),即可點選 Linked Server 展開看到資料表
資料庫連線部分可使用 Microsoft .NET Framework Data Provider for SQL server
直接使用 SQL OPENQUERY 語法進行查詢,SELECT * FROM OPENQUERY(Oracle9i, ‘SELECT * FROM HR.DEPARTMENTS')
其他參考
- sharepoint designer 建立oracle数据库连接的解决方案
- http://www.winos.cn/viewthread-49041.html
- [ DB ] Oracle Instant Client Setting