Hi All,
I just started looking at the SSIS programming, wanted to created a package having table to table data transfer. My source and destination databases are in Oracle.
I gone throught the code samples and started creating the source component. And the whatever samples i've seen the code i have written (copied) looks correct to me but still getting following error.
The basic questions i have is,
1. Do i need to setup something to start programming in SSIS. I am using 'Microsoft Visual C# Express Edition' for programming.
I have all the dll's in place.
And after compiling the code the exception i got is,
{"Exception from HRESULT: 0xC020801C"} System.Runtime.InteropServices.COMException was caught
Message="Exception from HRESULT: 0xC020801C"
Source="Microsoft.SqlServer.DTSPipelineWrap"
ErrorCode=-1071611876
StackTrace:
at Microsoft.SqlServer.Dts.Pipeline.Wrapper.CManagedComponentWrapperClass.AcquireConnections(Object pTransaction)
The Code is as Follows:
public static void CreateSource()
{
Microsoft.SqlServer.Dts.Runtime.Package package = new Microsoft.SqlServer.Dts.Runtime.Package();
Executable e = package.Executables.Add("DTS.Pipeline.1");
Microsoft.SqlServer.Dts.Runtime.TaskHost thMainPipe = e as Microsoft.SqlServer.Dts.Runtime.TaskHost;
MainPipe dataFlow = thMainPipe.InnerObject as MainPipe;
// Add an OLEDB connection manager that is used by the component to the package.
ConnectionManager cm = package.Connections.Add("OLEDB");
cm.Name = "OLEDB ConnectionManager";
cm.ConnectionString = @."Data Source=pqdb9i;User ID=srcDbUserId;Provider=MSDAORA.1;Persist Security Info=False;Integrated Security=SSPI;Auto Translate=False;";
package.DelayValidation = true;
cm.DelayValidation = true;
component = dataFlow.ComponentMetaDataCollection.New();
component.Name = "OLEDBSource";
component.ComponentClassID = "DTSAdapter.OleDbSource.1";
// Get the design time instance of the component.
CManagedComponentWrapper instance = component.Instantiate();
// Initialize the component
instance.ProvideComponentProperties();
// Specify the connection manager.
if (component.RuntimeConnectionCollection.Count > 0)
{
component.RuntimeConnectionCollection[0].ConnectionManagerID = package.Connections[0].ID;
component.RuntimeConnectionCollection[0].ConnectionManager = DtsConvert.ToConnectionManager90(package.Connections[0]);
}
// Set the custom properties.
//instance.SetComponentProperty("AlwaysUseDefaultCodePage", false);
instance.SetComponentProperty("AccessMode", 2);
instance.SetComponentProperty("SqlCommand", "Select * from srcTable");
// Reinitialize the metadata.
try
{
instance.AcquireConnections(null);
instance.ReinitializeMetaData();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
Console.WriteLine(component.InputCollection.Count);
}
///End Code
Thanks in advance
-Yuwaraj
Does Oracle use Windows Authentication in your case? If not, where's the password for the database user?|||Hi
I have the same problem, did u find any solution?
No comments:
Post a Comment