連接至資料來源 (Reporting Services)

資料來源定義會指定資料來源類型、連接字串和認證。資料來源定義可以透過多個報表或內嵌到報表定義來共用。如需詳細資訊,請參閱<管理報表資料來源>。

針對資料來源所儲存的連接資訊會隨著資料來源類型而有所不同。Reporting Services 提供支援下列資料來源類型的資料延伸模組:

  • Microsoft SQL Server

  • Microsoft SQL Server Analysis Services

  • OLE DB

  • Oracle

  • ODBC

  • 報表伺服器模型

  • SAP NetWeaver BI

  • Hyperion Essbase

  • Teradata

  • XML

系統管理員可以安裝與設定其他資料處理延伸模組以及 .NET Framework 資料提供者。如需詳細資訊,請參閱<資料處理延伸模組與 .NET Framework Data Provider>。

開發人員可以使用 Microsoft.ReportingServices.DataProcessing API 建立資料處理延伸模組,以支援其他類型的資料來源。

指定資料來源

當您第一次建立報表時,系統會提示您建立資料來源定義。您可以建立新的資料來源定義,或使用現有的共用資料來源。若要連接至資料來源,您必須擁有下列資訊:

  • 資料來源類型:特定類型的資料來源,例如,MicrosoftSQL Server。從支援的資料來源類型清單中選擇此值。

  • 連接資訊:也就是連接字串,連接資訊包括資料來源的名稱和位置,有時候則是特定版本的資料提供者。如果資料來源是資料庫,您可以在連接字串中指定資料庫的名稱。若是內嵌的資料來源,您也可以撰寫以運算式為基礎的連接字串,在執行階段接受評估。如需詳細資訊,請參閱本主題稍後的「以運算式為基礎的連接字串」。

  • 權限:您必須擁有適當的權限,才能使用所指定的認證,同時存取資料來源及資料來源上的特定資料。例如,若要連接到網路伺服器上所安裝的 AdventureWorks 範例伺服器,您必須擁有連接伺服器的權限,以及存取資料庫的唯讀權限。

    [!附註]

    在本機系統上用於預覽報表的認證可能與檢視已發行之報表所需的認證不同。如需詳細資訊,請參閱<如何:確認與資料來源的連接>。

連接到資料來源之後,資料來源定義就會出現在 [報表資料] 窗格中。[報表資料] 窗格會顯示內嵌的資料來源,以及共用資料來源的參考。共用資料來源會出現在 [方案總管] 的 [共用資料來源] 資料夾下方。您可以在 [報表資料] 窗格中指定報表的其他資料來源。

如需詳細資訊,請參閱:

[!附註]

在 Business Intelligence Development Studio 中建立報表的內嵌資料來源時,必須在報表設計師中建立資料來源,而非在伺服器總管中建立。SQL Server 報表設計師不會使用在伺服器總管中建立的 Visual Studio 資料來源。

一般連接字串範例

下表列出各種資料來源之連接字串的範例。如需有關連接到這些資料來源類型所需組態的詳細資訊,請參閱<Reporting Services 支援的資料來源>。

資料來源

範例

描述

本機伺服器上的 SQL Server 資料庫

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

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

本機伺服器上的 SQL Server 資料庫

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

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

SQL Server 執行個體

資料庫

Data Source=localhost\MSSQL10.InstanceName; Initial Catalog=AdventureWorks

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

SQL Server Express 資料庫

Data Source=localhost\MSSQL10.SQLEXPRESS; 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 以及報表伺服器資料或文件庫資料夾命名空間中已發行模型的路徑。

在 SharePoint 整合模式設定之報表伺服器上的報表模型資料來源

Server=https://server; datasource=https://server/site/documents/models/Adventure Works.smdl

指定報表伺服器或文件庫 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 資料來源建立報表資料集>。

Teradata 資料來源

data source=<NNN>.<NNN>.<NNN>.<NNN>;

將資料來源類型設定為 Teradata。連接字串是四個欄位形式的網際網路通訊協定 (IP) 位址,其中每個欄位都可以是 1 到 3 位數。

XML 資料來源,Web 服務

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

將資料來源類型設定為 XML。連接字串是支援 Web 服務定義語言 (WSDL) 之 Web 服務的 URL。如需詳細資訊,請參閱<從 XML 資料建立報表資料集>。

XML 資料來源,XML 文件

https://localhost/XML/Customers.xml

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

XML 資料來源,內嵌 XML 文件

空的

將資料來源類型設定為 XML。XML 資料內嵌在報表定義中。如需詳細資訊,請參閱<從 XML 資料建立報表資料集>。

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

資料來源的認證

當您在 BI Development Studio 的報表設計師中預覽報表時,報表處理器會使用您建立資料來源時指定的認證,從資料來源擷取資料。這些認證會儲存在本機專案組態檔中,並且專屬於儲存認證的電腦。如果您將專案檔案複製到其他電腦,則必須重新定義資料來源的認證。

當您發行報表時,您在本機上使用的認證可能不足以檢視報表伺服器上的報表。從電腦存取資料所需的資料來源認證可能與報表伺服器存取資料所需的認證不同。最好是在將報表發行到報表伺服器之後,確認資料來源連接是否繼續連接成功。如果您需要變更認證,可以直接在報表伺服器上進行修改。如需詳細資訊,請參閱<指定報表資料來源的認證和連接資訊>和<如何:儲存資料來源的認證 (報表管理員)>。

以運算式為基礎的連接字串

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

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

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

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

  • 使用靜態連接字串設計報表。靜態連接字串是指未透過運算式設定的連接字串 (例如,您遵循建立報表特定或共用資料來源的步驟執行時,所定義的就是靜態連接字串)。使用靜態連接字串可以讓您連接到報表設計師中的資料來源,以便取得建立報表所需的查詢結果。

  • 定義資料來源連接時,請勿使用共用資料來源。您不能在共用資料來源中使用資料來源運算式。您必須為報表定義內嵌的資料來源。

  • 分開指定認證與連接字串。您可以使用預存認證、提示認證或整合式安全性。

  • 加入報表參數,以指定資料來源。針對參數值,您可以提供靜態可用的值清單 (在此情況下,可用的值應為可以搭配報表使用的資料來源),或者定義在執行階段擷取資料來源清單的查詢。

  • 請確定資料來源清單共用相同的資料庫結構描述。所有的報表設計都是從結構描述資訊開始。如果用於定義報表的結構描述,和報表在執行階段使用的實際結構描述不符,報表可能不會執行。

  • 發行報表之前,請以運算式取代靜態連接字串。等到設計好報表之後,再以運算式取代靜態連接字串。一旦使用運算式,就不能在報表設計師中執行查詢。此外,[報表資料] 窗格中的欄位清單與 [參數] 清單也不會自動更新。

密碼中的特殊字元

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

[!附註]

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