2

I am having problems extracting data from Sybase using Advantage 11 OLE DB Provider in SSIS (2017). I can connect to the database, see the list of tables, and, when selecting a table as a data source I can see the columns.
However, when I click Preview (or run the data flow task), I get this error:

The provider cannot derive parameter information from the command. Use SetParameterInfo. (Advantage OLE DB Provider)

I am using no parameters, my Data Access mode is set to Table or View (see attached screenshot)

enter image description here

In project properties, Run64bitRuntime is set to False.

What am I missing? Thanks!!

9
  • Have you seen this thread? How to resolve SQL query parameters mapping issues while using Oracle OLE DB provider? Commented Feb 5, 2019 at 15:03
  • @JacobH, yes, thank you, but, like I said, I am not using any parameters in my query, it's a straight pull from a table.. Commented Feb 5, 2019 at 16:21
  • Sounds like you've got it resolved then! Commented Feb 5, 2019 at 16:23
  • @JacobH, not at all, I am still getting the error! Commented Feb 5, 2019 at 16:24
  • 1
    @Hadi, nope. Just replied below your answer (couldn't tag you there for some reason). Commented Feb 5, 2019 at 19:47

2 Answers 2

1

While searching on this issue, i found an old official reference that is related to advantage ole db provider release 1.0 (since 2000), they mentioned that:

Title:

"The Provider Cannot Derive Parameter Information From the Command. Use SetParameterInfo". Occurs When Using a Client Side Cursor with OLE DB

Problem Description:

"The provider cannot derive parameter information from the command. Use SetParameterInfo" occurs when setting the CursorLocation to use a client-side with the Advantage OLE DB Provider.

Solution:

This is a known issue in the 1.0 release of the Advantage OLE DB Provider, and is being looked into by the Advantage R&D team. The 1.1 release of the Advantage OLE DB Provider should have this problem fixed. Meanwhile, set the CursorLocation to use a server-side cursor as a work around. Server-side cursors work with the Advantage Database Server and the Advantage Local Server.


I searched on how to set CursorLocation to server side, maybe you have to set Advantage Server Type property in the connection string. Really i didn't worked with this type of connections but you can refer to the following articles to see some examples:

Also i found some official Microsoft articles concerning the CursorLocation property, but really i don't know where to change this property:


Update 1 - OLE DB Services

Try working around with the OLEDB Services values in the OLEDB connection manager:

enter image description here

Also try to change the OLEDB Services value manually in the connectionstring referring to the following article:


Update 2 - Other Providers

Try using other providers to connect to Sybase such as Sybase Adaptive Server Enterprise Data Provider or ODBC, there are many links that describe the whole process:

Sign up to request clarification or add additional context in comments.

9 Comments

thank you for your help. I added Advantage Server Type property to the connection string, and it didn't help anything. I can't find where to set Cursor Location, unfortunately, and Google has been no help..
@Tamila i added an update, check it out. I think this is all what i can do. Good luck
@Tamila you can import data from sybase using other providers check the latest update (2)
this is what we were told to use by our vendors.. I am still playing with cursors, but no luck so far.
@Tamila i think you should change the provider since there is a lack of documentation for advatnage oledb. Check update 2 section
|
0

So I finally solved this, but not with OLE DB. Instead, I used Advantage .NET Data Provider Release 11.1. Then in Visual Studio, I used ADO.NET connection manager, where I changed provider to Advantage Data Provider and that did the trick.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.