Unable to retrieve Column information when using Ole Db Provider for sybase

Hi All,

I am in process of transfering data from Sybase to Sql Server using SSIS 2005

have taken a Data Flow Task in Control Flow tab

In Data flow tab, I have taken one Ole DB Source and One OLe DB Destination

For the source, I am using Sybase Adaptive Server Anywhere Provider 8.0

For Destination, I am using Sql Server 2005 database


In Ole Db Source Editor ,
For OLe Db Connection Manager, I choose Sybase Connection
For Data access mode, I choose Table or View
For Name of the table or the view, I choose a table by name Table1( it lists all the tables from Sybase database)

When i click on preview button or Columns link, I get the following Error

Error at Data Flow Task [OLE DB Source [1]]: An OLE DB error has occurred. Error code: 0x80040E21.

Error at Data Flow Task [OLE DB Source [1]]: Unable to retrieve column information from the data source. Make sure your target table in the database is available.

------------------------------
ADDITIONAL INFORMATION:

Exception from HRESULT: 0xC020204A (Microsoft.SqlServer.DTSPipelineWrap)


Please help me out.

Thanks in Advance

Srinivas




Answer this question

Unable to retrieve Column information when using Ole Db Provider for sybase

  • Ant_59

    Well,

    Then How am I suppose to create a DTS that interchanges data between sybase sql anywhere and sql server 2005. The DTS on SQL server 7 and 2000 were able to perform such tasks. Now, the transformation services are incapable to do that!!!!

    Thanks.


  • azmath76

    Hi,

    I can access the sybase database using oledb from code without a problem. Both using a sqlcommand and a OleDbDataReader and using a OleDbDataAdapter. So in my opinion the problem is not in the oledb provider but in ssis.

    So again the question remains, how are we going to resolve this.

    Mark


  • Chatterbox

    Since the same driver works on DTS (sql 2000, and sql 7), I wonder if there is someone from microsoft looking into their SSIS fiasco

    Thanks.


  • emilychou

    We've had similar problems trying to use OLEDB to retrieve data from an AS400. We had to resort to using a DataReader Source with the ODBC .NET Provider. Is that an option for you
  • kevingpo

    Hi to All
    I use Sybase Adaptive Server Anywhere Provider 9.0
    and I have the same problem of Srinivas Govada (first post)
    My error ,message is:
    ________________________________
    TITLE: Microsoft Visual Studio
    ------------------------------

    Error at Data Flow Task [OLE DB Source [215]]: An OLE DB error has occurred. Error code: 0x80040E21.

    Error at Data Flow Task [OLE DB Source [215]]: Unable to retrieve column information from the data source. Make sure your target table in the database is available.

    ------------------------------
    ADDITIONAL INFORMATION:

    Exception from HRESULT: 0xC020204A (Microsoft.SqlServer.DTSPipelineWrap)
    ___________________________________

    I've tried to install "ODBC .NET Data Provider"
    but it wasn't tested with Sybase :( and it doesn't work.

    when you say
    >Try an ODBC provider, used with the ODBC Provider for .Net

    have you and idea of what i can use

    Anyone have resolved the problem

    Thanks

    Salmec



  • OGData

    Hi to all,
    thanks for your interesting...

    i resolved the problem:

    i choose the "SSIS import and export Wizard" procedure (project menu)
    At th first step - choose a Data Source - I choose ".Net Framework Data Provider for Odbc"
    As destination i've a SQL Native Client
    I write a query to select the column tha i would like to import;
    I choose the destination table
    and after click Finish button
    This procedure create a new package that import and convert the data.

    and it works

    Thanks to all

    Sal



  • jlc72

    We have not tested with the Sybase drivers, so it is difficult to give detailed information. The error you are seeing is a very generic OLEDB error returned to SSIS, so whatever is causing the problem is in the provider layer. That DTS could connect to the same provider does not give any guidance - SSIS has a completely different architecture, and consequently requests different (and more detailed) metadata from providers. It is therefore quite possible that some providers will return errors from an SSIS request, where DTS made no such call.

    Where a given OLEDB provider does not work, there a number of possibilities to explore:

    • Try sending a query, rather than selecting a table or view;
    • Try another OLEDB provider if available - there are often several implementations and some support a wider range of OLEDB properties and methods than others;
    • Try an ADO.Net provider if it is available for use with VS 2005;
    • Try an ODBC provider, used with the ODBC Provider for .Net.

    Donald



  • Omen

    Sorry I could not help, I have the same exact problem. I have tried reloading the drivers, but still the same. Please help.

    Thanks


  • Puneetm

    I am just as luck as you are.

    It's a broad problem with "Microsoft.SqlServer.DTSPipelineWrap". I have no idea how to fix it. But I get quite a few problem with it.

    Exception from HRESULT: 0xC020204A

    Exception from HRESULT: 0xC0202022

    Exception from HRESULT: 0xC02020E8

    Like you, I did uninstall and reinstall, did not solve the problem. For no particular reason, it could back to work. I have no idea what bring it back to work. I have searched for two days, failed to find any helpful information.

    Sorry for sharing this bad news with you.


  • Jari Haaranen

    It's a workaround for extracting data using an OLEDB source. The same approach cannot be used to transfer data to Sybase. Have you looked into a third party provider such as DataDirect as an alternative
  • lf3877

    was this issue ever resolved If so how
  • Mike Williams28205

    It is funny, on the datareader source you are able to read from an actual database, howevere, the datareader destination don't. How could I use the datareader destination with other objects to ultimately export data to another database, not just to an object in memory

    Thanks


  • Cp1der

    Guatvao wrote:

    It is funny, on the datareader source you are able to read from an actual database, howevere, the datareader destination don't. How could I use the datareader destination with other objects to ultimately export data to another database, not just to an object in memory

    Thanks

    You can't. That is not what it is for. Or did you see something in the documentation that caused you to think otherwise

    -Jamie



  • aravinda.kishore

     Guatvao wrote:

    Well,

    Then How am I suppose to create a DTS that interchanges data between sybase sql anywhere and sql server 2005.  The DTS on SQL server 7 and 2000 were able to perform such tasks. Now, the transformation services are incapable to do that!!!!

    Thanks.

    I don't have any experience of Sybase so I can't really help I'm afraid. From reading everything above though it seems as if your problem is connectivity to Sybase so the Datareader destination would be of no use even if it did what you evidently were hoping it does.

    Its clear that the problem is outside SSIS in the OLE DB Provider however I accept your assertion that this always worked in DTS2000 so I can understand your frustration.

     

    My first point of attack would be to eliminate SSIS and see if the problem still exists. Try consuming the OLE DB provider from somewhere else but make sure you keep the same connection details and the query that SSIS is using. In other words - try and recreate the problem outside SSIS.

     

    I would also try accessing the data via a SQL query in the OLE DB Source component rather than just selecting a table from the drop-down list. These 2 options access the data source in different ways as far as I am aware.

    -Jamie

     



  • Unable to retrieve Column information when using Ole Db Provider for sybase