連接到資料來源

更新: 2006 年 12 月 12 日

在 Reporting Services 中,報表定義包含一或多個查詢、配置資訊,以及報表中使用之外部資料來源的資料來源連接。資料來源連接會指定資料來源類型、連接字串和認證。在 Reporting Services 中,資料來源連接資訊是在資料集內指定。定義報表資料集的第一步,就是定義要使用的資料來源。

Reporting Services 會提供支援下列資料來源類型的資料延伸模組:SQL Server、Analysis Services、Oracle、ODBC、OLE DB、SAP NetWeaver BI 和 XML。開發人員可以使用 Microsoft.ReportingServices.DataProcessing API 建立資料處理延伸模組,以支援其他類型的資料來源。儲存在資料來源中的連接資訊會因資料來源的類型而異。本主題中進一步提供不同種類連接字串的範例。

您可以利用下列方式指定資料來源:

  • 作為儲存在報表中的內嵌資訊 (這稱為報表特定資料來源)。
  • 作為共用資料來源,這是在報表設計師中分開定義的,並在發行報表時,儲存為報表伺服器上的個別項目。
  • 作為運算式,這是用來在執行階段選取資料來源。

資料來源沒有包含查詢資訊。查詢資訊包含在資料集內,這會使用資料來源連接到資料庫。如需詳細資訊,請參閱<定義報表資料集>。

指定在報表定義中使用的資料來源時,必須在報表設計師中建立資料來源,而非在伺服器總管中建立。SQL Server 2005 中包含的報表設計師版本,並不會使用在伺服器總管中建立的 Visual Studio 資料來源。

將報表發行至報表伺服器之後,您可以設定報表使用其他資料來源。例如,您可以從測試資料來源切換到具有相同基礎資料結構的實際資料來源。

如需詳細資訊,請參閱<設定 Reporting Services 中的資料來源屬性>。

在預覽中使用的認證

您在報表設計師中預覽報表時,會從資料來源擷取資料。用來連接到資料來源的認證,是在 [資料來源][共用資料來源] 對話方塊中的 [認證] 索引標籤上指定。這些認證會儲存在本機專案組態檔中,並且屬於儲存認證之電腦特定的。如果您將專案檔案複製到其他電腦,則必須重新定義資料來源的認證。

報表特定資料來源

您可以在報表中,建立只有該報表能夠使用的資料來源。在該報表中定義的任何資料集都可以使用該資料來源,但是專案中的其他報表無法使用。當只有一個報表需要特定連接,而且您不希望該資料來源發行後需要個別進行管理時,才使用報表特定的資料來源。發行報表之後,資料來源就會作為報表屬性的一部分來管理。如需有關指定報表特定資料來源的詳細資訊,請參閱<如何:建立或編輯報表特定資料來源 (報表設計師)>。

共用資料來源

您可以建立供多個報表共用的資料來源,來簡化連接的維護。如果有多個報表都使用相同的資料來源,當這些報表的連接資訊改變時,只需要變更所有報表的連接資訊一次。將報表從測試環境移到實際環境時,或者您要將資料來源當成個別項目管理時,這很有用。

在報表設計師中建立共用資料來源時,它會以個別檔案儲存在報表專案中。此檔案是包含資料來源名稱、資料來源識別碼和連接資訊的 XML 文件。當您發行專案中的報表時,也會發行資料來源。如果伺服器上已有資料來源,專案的 OverwriteDataSources 屬性會決定專案中的資料來源是否覆寫伺服器上的資料來源。您可以透過專案的部署屬性來變更此屬性。發行報表之後,資料來源與專案中其他的報表會共同存在,但可分開管理。

若要檢視有關使用共用資料來源的指示,請參閱下列主題:

資料來源運算式

您可以在連接字串中放入運算式,以允許使用者在執行階段選取資料來源。例如,假設有一家跨國企業,在許多國家 (地區) 有資料伺服器。執行銷售報表的使用者可以在執行報表之前,使用以運算式為基礎的連接字串,來選取特定國家 (地區) 的資料來源。

下列範例說明在 SQL Server 連接字串中,使用資料來源運算式。本範例假設您已經建立一個名為 ServerName 的報表參數:

="data source=" & Parameters!ServerName.Value & ";initial catalog=AdventureWorks

資料來源運算式是在執行階段,或者在預覽報表時處理。運算式必須以 Visual Basic 撰寫。定義資料來源運算式時,請使用下列指導方針:

  • 使用靜態連接字串設計報表。靜態連接字串是指未透過運算式設定的連接字串 (例如,您遵循建立報表特定或共用資料來源的步驟執行時,所定義的就是靜態連接字串)。使用靜態連接字串可以讓您連接到報表設計師中的資料來源,以便取得建立報表所需的查詢結果。
  • 定義資料來源連接時,請勿使用共用資料來源。您不能在共用資料來源中使用資料來源運算式。您必須為報表定義報表特定資料來源。
  • 分開指定認證與連接字串。您可以使用預存認證、提示認證或整合式安全性。
  • 加入報表參數,以指定資料來源。針對參數值,您可以提供靜態可用的值清單 (在此情況下,可用的值應為可以搭配報表使用的資料來源),或者定義在執行階段擷取資料來源清單的查詢。
  • 請確定資料來源清單共用相同的資料庫結構描述。所有的報表設計都是從結構描述資訊開始。如果用來定義報表的結構描述,和報表在執行階段使用的實際結構描述不符,報表可能不會執行。
  • 發行報表之前,請以運算式取代靜態連接字串。等到設計好報表之後,再以運算式取代靜態連接字串。一旦使用運算式,就不能在報表設計師中執行查詢。而且,[資料集] 視窗中的欄位清單與 [參數] 清單也不會自動更新。

密碼中的特殊字元

如果您設定 ODBC 或 SQL 資料來源以提示密碼或將密碼包含在連接字串中,則當使用者輸入含有特殊字元 (例如:標點符號) 的密碼時,某些基礎資料來源驅動程式無法驗證這些特殊字元。當您處理報表時,訊息「不是有效密碼」可能會指出此問題。如果無法變更密碼,您可以洽詢資料庫管理員,將適當的認證儲存在伺服器上,作為系統 ODBC 資料來源名稱 (DSN) 的一部分。如需詳細資訊,請參閱 .NET Framework SDK 文件集中的<OdbcConnection.ConnectionString>。

ms156450.note(zh-tw,SQL.90).gif附註:
建議您不要在連接字串中加入登入資訊,例如密碼。報表設計師在 [資料來源] 對話方塊中提供另一個索引標籤,您可以使用此索引標籤來輸入認證。這些認證都加上保護,儲存在報表設計師電腦上。

一般連接字串

下表列出各種資料來源之連接字串的範例。

資料來源 範例 描述

SQL Server OLTP 資料庫

data source="(local)";initial catalog=AdventureWorks

將資料來源類型設定為 SQL Server

Analysis Services 資料庫

data source=localhost;initial catalog=Adventure Works DW

將資料來源類型設定為 SQL Server Analysis Services

報表模型資料來源

Server=http://myreportservername/reportserver; datasource=/models/Adventure Works

指定報表伺服器或文件庫 URL 以及報表伺服器資料或文件庫資料夾命名空間中已發行模型的路徑。

SQL Server 2000 Analysis Services 伺服器

provider=MSOLAP.2;data source=<remote server name>;initial catalog=FoodMart 2000

將資料來源類型設定為 OLE DB Provider for OLAP Services 8.0

如果將 ConnectTo 屬性設定為 8.0,則可以加快 SQL Server 2000 Analysis Services 資料來源的連接。若要設定這個屬性,請使用 [連接屬性] 對話方塊的 [進階屬性] 索引標籤。

Oracle 伺服器

data source=myserver

將資料來源類型設定為 Oracle。Oracle 用戶端工具必須安裝在報表設計師電腦和報表伺服器上。如需詳細資訊,請參閱<定義 Oracle 資料庫中關聯式資料的報表資料集>。

SAP NetWeaver BI 資料來源

DataSource=http://mySAPNetWeaverBIServer:8000/sap/bw/xml/soap/xmla

將資料來源類型設定為 SAP NetWeaver BI。如需詳細資訊,請參閱<從 SAP NetWeaver BI 系統定義多維度資料的報表資料集>。

Hyperion Essbase 資料來源

Data Source=https://localhost:13080/aps/XMLA; Initial Catalog=Sample

將資料來源類型設定為 Hyperion Essbase。如需詳細資訊,請參閱<定義來自 Hyperion Essbase 資料庫之多維度資料的報表資料集>。

XML 資料來源

data source=http://adventure-works.com/results.aspx

將資料來源類型設定為 XML。連接字串是 XML 文件的 URL。如需詳細資訊,請參閱<定義 XML 資料的報表資料集>。

如果無法使用 localhost 連接到報表伺服器,請檢查 TCP/IP 通訊協定的網路通訊協定是否已啟用。如需詳細資訊,請參閱<連接到 SQL Server Database Engine>。

請參閱

工作

如何:建立或編輯報表特定資料來源 (報表設計師)
如何:建立或編輯共用資料來源 (報表設計師)

概念

共用資料來源和報表特定資料來源
使用報表配置處理資料
設定 Reporting Services 中的資料來源屬性
報表伺服器資料夾階層

其他資源

資料來源 (認證索引標籤,報表設計師)
共用資料來源 (認證索引標籤,報表設計師)

說明及資訊

取得 SQL Server 2005 協助

變更歷程記錄

版本 歷程記錄

2006 年 12 月 12 日

更新的內容:
  • 新增 Hyperion Essbase 資料來源資訊。

2006 年 7 月 17 日

更新的內容:
  • 更新報表模型資料來源連接字串

2006 年 4 月 14 日

新增內容:
  • 新增 SAP NetWeaver BI 資料來源

2005 年 12 月 5 日

新增內容:
  • 密碼中的特殊字元