次の方法で共有


CreateDataSource メソッド

レポート サーバー データベースの新しいデータ ソースを作成します。

名前空間:  ReportService2005
アセンブリ:  ReportService2005 (ReportService2005.dll)

構文

'宣言
<SoapHeaderAttribute("BatchHeaderValue")> _
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/CreateDataSource", RequestNamespace := "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices",  _
    ResponseNamespace := "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices",  _
    Use := SoapBindingUse.Literal, ParameterStyle := SoapParameterStyle.Wrapped)> _
<SoapHeaderAttribute("ServerInfoHeaderValue", Direction := SoapHeaderDirection.Out)> _
Public Sub CreateDataSource ( _
    DataSource As String, _
    Parent As String, _
    Overwrite As Boolean, _
    Definition As DataSourceDefinition, _
    Properties As Property() _
)
'使用
Dim instance As ReportingService2005
Dim DataSource As String
Dim Parent As String
Dim Overwrite As Boolean
Dim Definition As DataSourceDefinition
Dim Properties As Property()

instance.CreateDataSource(DataSource, _
    Parent, Overwrite, Definition, Properties)
[SoapHeaderAttribute("BatchHeaderValue")]
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/CreateDataSource", RequestNamespace = "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices", 
    ResponseNamespace = "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices", 
    Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
[SoapHeaderAttribute("ServerInfoHeaderValue", Direction = SoapHeaderDirection.Out)]
public void CreateDataSource(
    string DataSource,
    string Parent,
    bool Overwrite,
    DataSourceDefinition Definition,
    Property[] Properties
)
[SoapHeaderAttribute(L"BatchHeaderValue")]
[SoapDocumentMethodAttribute(L"https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/CreateDataSource", RequestNamespace = L"https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices", 
    ResponseNamespace = L"https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices", 
    Use = SoapBindingUse::Literal, ParameterStyle = SoapParameterStyle::Wrapped)]
[SoapHeaderAttribute(L"ServerInfoHeaderValue", Direction = SoapHeaderDirection::Out)]
public:
void CreateDataSource(
    String^ DataSource, 
    String^ Parent, 
    bool Overwrite, 
    DataSourceDefinition^ Definition, 
    array<Property^>^ Properties
)
[<SoapHeaderAttribute("BatchHeaderValue")>]
[<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/CreateDataSource", RequestNamespace = "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices", 
    ResponseNamespace = "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices", 
    Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)>]
[<SoapHeaderAttribute("ServerInfoHeaderValue", Direction = SoapHeaderDirection.Out)>]
member CreateDataSource : 
        DataSource:string * 
        Parent:string * 
        Overwrite:bool * 
        Definition:DataSourceDefinition * 
        Properties:Property[] -> unit 
public function CreateDataSource(
    DataSource : String, 
    Parent : String, 
    Overwrite : boolean, 
    Definition : DataSourceDefinition, 
    Properties : Property[]
)

パラメーター

  • Parent
    型: System. . :: . .String
    データ ソースを含む親フォルダーの完全なパス名です。
  • Overwrite
    型: System. . :: . .Boolean
    指定した場所に同じ名前のデータ ソースが既に存在する場合に上書きするかどうかを示す Boolean 式です。

説明

次の表に、この操作に関連するヘッダーおよび権限の情報を示します。

SOAP ヘッダー

(In) BatchHeaderValue

(Out) ServerInfoHeaderValue

必要な権限

新しいデータ ソースの作成: Parent に対する CreateDatasource

既存のデータ ソースの更新: DataSource に対する UpdateContent

データ ソース プロパティの更新: DataSource に対する UpdateContent および UpdateProperties

エラーが発生すると、データ ソースは作成されません。

Parent パラメーターの長さは、260 文字以下でなければなりません。これを超えると、エラー コード rsItemLengthExceeded の SOAP 例外がスローされます。

Parent パラメーターを NULL または空の文字列にすることはできません。また、予約文字 : ?; @ & = + $ , \ * > < | ." を含めることもできません。スラッシュ (/) は、フォルダーの完全なパス名内の各項目を区切るために使用することはできますが、フォルダー名の末尾には使用できません。

使用例

このコード例をコンパイルするには、Reporting Services の WSDL を参照し、特定の名前空間をインポートする必要があります。詳細については、「Compiling and Running Code Examples」を参照してください。次のコード例では、レポート サーバー データベースのルート フォルダーに新しいデータ ソースを作成します。

Imports System
Imports System.Web.Services.Protocols

Class Sample
   Public Shared Sub Main()
      Dim rs As New ReportingService2005()
      rs.Credentials = System.Net.CredentialCache.DefaultCredentials

      Dim name As String = "AdventureWorks"
      Dim parent As String = "/"

      ' Define the data source definition.
      Dim definition As New DataSourceDefinition()
      definition.CredentialRetrieval = CredentialRetrievalEnum.Integrated
      definition.ConnectString = "data source=(local);initial catalog=AdventureWorks"
      definition.Enabled = True
      definition.EnabledSpecified = True
      definition.Extension = "SQL"
      definition.ImpersonateUserSpecified = False
      'Use the default prompt string.
      definition.Prompt = Nothing
      definition.WindowsCredentials = False

      Try
         rs.CreateDataSource(name, parent, False, definition, Nothing)

      Catch e As SoapException
         Console.WriteLine(e.Detail.InnerXml.ToString())
      End Try
   End Sub 'Main
End Class 'Sample
using System;
using System.Web.Services.Protocols;

class Sample
{
   public static void Main()
   {
      ReportingService2005 rs = new ReportingService2005();
      rs.Credentials = System.Net.CredentialCache.DefaultCredentials;

      string name = "AdventureWorks";
      string parent ="/";

      // Define the data source definition.
      DataSourceDefinition definition = new DataSourceDefinition();
      definition.CredentialRetrieval = CredentialRetrievalEnum.Integrated;
      definition.ConnectString = "data source=(local);initial catalog=AdventureWorks";
      definition.Enabled = true;
      definition.EnabledSpecified = true;
      definition.Extension = "SQL";
      definition.ImpersonateUserSpecified = false;
      //Use the default prompt string.
      definition.Prompt = null;
      definition.WindowsCredentials = false;

      try
      {
         rs.CreateDataSource(name, parent, false, definition, null);
      }

      catch (SoapException e)
      {
         Console.WriteLine(e.Detail.InnerXml.ToString()); 
      }
   }
}