資料連接、資料來源及連接字串 (SSRS)

若要在報表中包含資料,您必須先建立「資料連接」(Data Connection),也稱為「資料來源」(Data Source),然後再建立資料集。資料連接包含資料來源類型、連接資訊以及要使用的認證類型。資料來源有兩種類型:內嵌和共用。內嵌資料來源是定義在報表中,而且只能供該報表使用。共用資料來源與報表分開定義,而且可以供多個報表使用。如需詳細資訊,請參閱<內嵌和共用資料連接或資料來源 (報表產生器 3.0 和 SSRS)>和<內嵌和共用資料集 (報表產生器 3.0 和 SSRS)>。

[!附註]

您可以在 Business Intelligence Development Studio 中的報表產生器 3.0 及報表設計師中建立及修改報表定義 (.rdl)。每一個撰寫環境都提供了不同的方式讓您建立、開啟,以及儲存報表和相關的項目。如需詳細資訊,請參閱在報表設計師及報表產生器 3.0 (SSRS) 中設計報表,位於 microsoft.com 網站上。

內嵌和共用資料來源之間的差異在於建立、儲存和管理的方式。

  • 在報表設計師中 Business Intelligence Development Studio 專案的一部分,建立內嵌或共用資料來源。您可以控制是否在本機上將它們用於預覽,或將它們做為專案的一部分部署到報表伺服器或 SharePoint 網站。您可以使用已安裝在電腦上和報表伺服器上或用來部署報表的 SharePoint 網站上的自訂資料延伸模組。

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

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

  • 在報表產生器中,瀏覽至報表伺服器或 SharePoint,然後選取共用資料來源或在報表中建立內嵌資料來源。您無法在報表產生器中建立共用資料來源。也無法在報表產生器中使用自訂資料延伸模組。

如需有關報表撰寫環境間差異的詳細資訊,請參閱<在報表設計師和報表產生器 3.0 中設計報表 (SSRS)>和<比較報表撰寫環境>。

內建資料延伸模組包含下列資料連接類型:

  • Microsoft SQL Server

  • Microsoft SQL Server Analysis Services

  • Microsoft SharePoint 清單

  • Microsoft SQL Azure

  • Microsoft SQL Server 平行資料倉儲

  • OLE DB

  • Oracle

  • SAP NetWeaver BI

  • Hyperion Essbase

  • Teradata

  • XML

  • ODBC

您也可以指定報表模型的 URL。

如需範例,請參閱<一般連接字串範例>。

指定資料來源

若要建立資料來源,您必須擁有下列資訊:

  • 資料來源類型:連接類型,例如,Microsoft SQL Server。從連接類型下拉式清單中選擇此值。 

  • 連接資訊:連接資訊包含資料來源的名稱和位置,以及每個資料提供者的特定連接屬性。「連接字串」(Connection String) 是連接資訊的文字表示。例如,如果資料來源是 SQL Server 資料庫,您可以指定資料庫的名稱。若是內嵌的資料來源,您也可以撰寫以運算式為基礎的連接字串,在執行階段接受評估。如需詳細資訊,請參閱本主題稍後的<以運算式為基礎的連接字串>。

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

    [!附註]

    根據設計,認證會與資料來源分開管理。在本機系統上用於預覽報表的認證可能與檢視已發行之報表所需的認證不同。將資料來源儲存至報表伺服器或 SharePoint 網站之後,您可能需要變更認證,才能從該位置運作。如需詳細資訊,請參閱<資料來源的認證>。

[!附註]

在 Business Intelligence Development Studio 中建立報表的內嵌資料來源時,必須在報表設計師的方案總管或 [報表資料] 窗格中建立資料來源,而非在伺服器總管中建立。SQL Server 報表設計師不支援伺服器總管中建立的 Visual Studio 資料來源。

[報表資料] 窗格會顯示內嵌資料來源以及已新增至報表的共用資料來源參考。在報表產生器中,共用資料來源參考指向報表伺服器或 SharePoint 網站上的共用資料來源。在報表設計師中,共用資料來源參考指向方案總管中 [共用資料來源] 資料夾底下的共用資料來源。

一般連接字串範例

連接字串是資料提供者連接屬性的文字表示。下表列出各種資料連接類型的連接字串範例。

資料來源

範例

說明

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

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

將資料來源類型設定為 Microsoft SQL Server。如需詳細資訊,請參閱<SQL Server 連接類型 (SSRS)>。

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

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

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

SQL Server 執行個體

資料庫

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

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

SQL Server Express 資料庫

Data Source=localhost\MSSQL10_50.SQLEXPRESS; Initial Catalog=AdventureWorks

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

雲端中的 SQL Azure 資料庫

Data Source=<host>;Initial Catalog=AdventureWorks; Encrypt=True

將資料來源類型設定為 Microsoft SQL Azure。如需詳細資訊,請參閱<SQL Azure 連接類型 (SSRS)>。

SQL Server 平行資料倉儲

HOST=<IP address>;database= AdventureWorks; port=<port>

將資料來源類型設定為 Microsoft SQL Server Parallel Data Warehouse。如需詳細資訊,請參閱<SQL Server 平行資料倉儲連接類型 (SSRS)>。

本機伺服器上的 Analysis Services 資料庫

data source=localhost;initial catalog=Adventure Works DW

將資料來源類型設定為 Microsoft SQL Server Analysis Services。如需詳細資訊,請參閱<MDX 的 Analysis Services 連接類型 (SSRS)>或<DMX 的 Analysis Services 連接類型 (SSRS)>。

在原生模式設定之報表伺服器上的報表模型資料來源

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

指定報表伺服器或文件庫 URL 以及報表伺服器資料或文件庫資料夾命名空間中已發行模型的路徑。如需詳細資訊,請參閱<報表模型連接 (SSRS)>。

在 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 連接類型 (SSRS)>。

SAP NetWeaver BI 資料來源

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

將資料來源類型設定為 SAP NetWeaver BI。如需詳細資訊,請參閱<SAP NetWeaver BI 連接類型 (SSRS)>。

Hyperion Essbase 資料來源

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

將資料來源類型設定為 Hyperion Essbase。如需詳細資訊,請參閱<Hyperion Essbase 連接類型 (SSRS)>。

Teradata 資料來源

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

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

XML 資料來源, Web 服務

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

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

XML 資料來源, XML 文件

https://localhost/XML/Customers.xml

將資料來源類型設定為 XML。連接字串是 XML 文件的 URL。

XML 資料來源, 內嵌 XML 文件

空白

將資料來源類型設定為 XML。XML 資料內嵌在報表定義中。

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

如需有關連接到這些資料來源類型所需組態的詳細資訊,請參閱<從外部資料來源新增資料 (SSRS)>或<Reporting Services 支援的資料來源 (SSRS)>底下的特定資料連接主題。

資料來源的認證

根據設計,認證會與連接資訊分開儲存和管理。認證是用來建立資料來源、執行資料集查詢以及預覽報表。

[!附註]

我們建議您不要將登入資訊 (例如登入名稱和密碼) 包含在資料來源的連接屬性中。盡可能搭配預存認證使用共用資料來源。在撰寫環境中,當您建立資料連接或執行資料集查詢時,使用 [資料來源] 對話方塊的 [認證] 頁面輸入認證。

從電腦存取資料所輸入的認證會安全地儲存在本機專案組態檔中,而且是電腦專屬。如果您將專案檔案複製到其他電腦,則必須重新定義資料來源的認證。

將報表部署至報表伺服器或 SharePoint 網站時,內嵌和共用資料來源會分開管理。從電腦存取資料所需的資料來源認證可能與報表伺服器存取資料所需的認證不同。最好是在發行報表之後,確認資料來源連接是否繼續連接成功。如果您需要變更認證,可以直接在報表伺服器上進行修改。

若要變更報表所使用的資料來源,您可以透過手動巡覽至報表伺服器資料夾,並依名稱選取資料來源,修改報表屬性。如需詳細資訊,請參閱<如何:將報表或模型繫結至共用資料來源>。

如需詳細資訊,請參閱下列主題:

密碼中的特殊字元

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

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

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

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

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

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

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

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

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

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

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

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