連接至資料來源 (報表產生器 2.0)
在報表產生器 2.0 中,您可以用兩種方式將資料來源包含在報表中:
瀏覽並加入報表伺服器上共用資料來源的參考。擷取報表資料所需的連接資訊會儲存在報表伺服器上。
建立僅供報表使用的內嵌資料來源。您必須提供連接資訊並指定要使用的認證。
如需詳細資訊,請參閱<使用內嵌和共用資料來源 (報表產生器 2.0)>和<指定報表資料來源的認證 (報表產生器 2.0)>。
指定內嵌資料來源
資料來源定義會指定資料來源類型、連接字串和認證。資料來源定義可以透過多個報表或內嵌到報表定義來共用。您可以建立新的資料來源定義,或使用現有的共用資料來源。若要連接至資料來源,您必須擁有下列資訊:
資料來源類型:特定類型的資料來源,例如,MicrosoftSQL Server。從支援的資料來源類型清單中選擇此值:
Microsoft SQL Server
Microsoft SQL Server Analysis Services
OLE DB
Oracle
ODBC
SAP NetWeaver BI
Hyperion Essbase
Teradata
XML
[!附註]
您也可以使用報表模型當做資料來源。由於您可以直接從報表伺服器瀏覽並選取報表模型,所以報表產生器 2.0 不會包含可在其他撰寫環境中使用的「報表伺服器模型」資料來源類型。
連接資訊:也就是連接字串,連接資訊包括資料來源的名稱和位置,有時候則是特定版本的資料提供者。如果資料來源是資料庫,您可以在連接字串中指定資料庫的名稱。若是內嵌的資料來源,您也可以撰寫以運算式為基礎的連接字串,在執行階段接受評估。如需詳細資訊,請參閱<範例連接 (報表產生器 2.0)>。
權限:您必須擁有適當的權限,才能使用所指定的認證,同時存取資料來源及資料來源上的特定資料。例如,若要連接到網路伺服器上所安裝的 AdventureWorks2008 範例伺服器,您必須擁有連接伺服器的權限,以及存取資料庫的唯讀權限。
[!附註]
在本機系統上用於預覽報表的認證可能與檢視已發行之報表所需的認證不同。如需詳細資訊,請參閱<指定報表資料來源的認證 (報表產生器 2.0)>。
連接到資料來源之後,資料來源定義就會出現在 [報表資料] 窗格中。[報表資料] 窗格會顯示內嵌的資料來源,以及共用資料來源的參考。
如需詳細資訊,請參閱:
以運算式為基礎的連接字串
以運算式為基礎的連接字串是在執行階段進行評估。只有當您已連接至報表伺服器時,以運算式為基礎的字串才會運作。
例如,您可以將資料來源指定為參數,包括連接字串中的參數參考,並允許使用者選擇報表的資料來源。例如,假設有一家跨國企業,在許多國家 (地區) 有資料伺服器。執行銷售報表的使用者可以在執行報表之前,使用以運算式為基礎的連接字串,來選取特定國家 (地區) 的資料來源。
下列範例說明在 SQL Server 連接字串中,使用資料來源運算式。本範例假設您已經建立一個名為 ServerName 的報表參數:
="data source=" & Parameters!ServerName.Value & ";initial catalog=AdventureWorks
資料來源運算式是在執行階段,或者在預覽報表時處理。運算式必須以 Visual Basic 撰寫。定義資料來源運算式時,請使用下列指導方針:
使用靜態連接字串設計報表。靜態連接字串是指未透過運算式設定的連接字串 (例如,您遵循建立報表特定或共用資料來源的步驟執行時,所定義的就是靜態連接字串)。使用靜態連接字串可以讓您連接到資料來源,以便取得建立報表所需的查詢結果。
定義資料來源連接時,請勿使用共用資料來源。您不能在共用資料來源中使用資料來源運算式。您必須為報表定義內嵌的資料來源。
分開指定認證與連接字串。您可以使用預存認證、提示認證或整合式安全性。
加入報表參數,以指定資料來源。針對參數值,您可以提供靜態可用的值清單 (在此情況下,可用的值應為可以搭配報表使用的資料來源),或者定義在執行階段擷取資料來源清單的查詢。
請確定資料來源清單共用相同的資料庫結構描述。所有的報表設計都是從結構描述資訊開始。如果用來定義報表的結構描述,和報表在執行階段使用的實際結構描述不符,報表可能不會執行。
發行報表之前,請以運算式取代靜態連接字串。等到設計好報表之後,再以運算式取代靜態連接字串。一旦使用運算式,就不能在報表產生器 2.0 中執行查詢。此外,[報表資料] 窗格中的欄位清單與 [參數] 清單也不會自動更新。
密碼中的特殊字元
如果您設定 ODBC 或 SQL 資料來源以提示密碼或將密碼包含在連接字串中,則當使用者輸入含有特殊字元 (例如:標點符號) 的密碼時,某些基礎資料來源驅動程式無法驗證這些特殊字元。當您處理報表時,訊息「不是有效密碼」可能會指出此問題。如果無法變更密碼,您可以洽詢資料庫管理員,將適當的認證儲存在伺服器上,做為系統 ODBC 資料來源名稱 (DSN) 的一部分。如需詳細資訊,請參閱 .NET Framework SDK 文件集中的<OdbcConnection.ConnectionString>。
[!附註]
建議您不要在連接字串中加入登入資訊,例如密碼。報表產生器 2.0 在 [資料來源] 對話方塊中提供另一個索引標籤,您可以使用此索引標籤來輸入認證。這些認證都加上保護,儲存在報表產生器 2.0 電腦上。