ReportingService2005.CreateDataSource Method
Creates a new data source in the report server database.
Namespace:  ReportService2005
Assembly:  ReportService2005 (in ReportService2005.dll)
Syntax
'Declaration
<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() _
)
'Usage
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[]
)
Parameters
- DataSource
 Type: System.String
 The name of the data source.
- Parent
 Type: System.String
 The full path name of the parent folder that contains the data source.
- Overwrite
 Type: System.Boolean
 A Boolean expression that indicates whether an existing data source with the same name in the location specified should be overwritten.
- Definition
 Type: ReportService2005.DataSourceDefinition
 A DataSourceDefinition object that describes the connection properties for the data source.
- Properties
 Type: array<ReportService2005.Property[]
 An array of Property objects that defines the property names and values to set for the data source.
Remarks
The table below shows header and permissions information on this operation.
| SOAP Headers | (In) BatchHeaderValue (Out) ServerInfoHeaderValue | 
| Required Permissions | Creating a new data source: CreateDatasource on Parent Updating an existing data source: UpdateContent on DataSource Updating data source properties: UpdateContent AND UpdateProperties on DataSource | 
If errors occur, the data source is not created.
The length of the Parent parameter cannot exceed 260 characters; otherwise, a SOAP exception is thrown with the error code rsItemLengthExceeded.
The Parent parameter cannot be null or empty or contain the following reserved characters: : ? ; @ & = + $ , \ * > < | . ". You can use the forward slash character (/) to separate items in the full path name of the folder, but you cannot use it at the end of the folder name
Examples
To compile this code example, you must reference the Reporting Services WSDL and import certain namespaces. For more information, see Compiling and Running Code Examples. The following code example creates a new data source in the root folder of the report server database:
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()); 
      }
   }
}