Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在SSIS中使用OLE DB从Sybase提取数据时出错_Ssis_Oledb_Etl_Sybase_Advantage Database Server - Fatal编程技术网

在SSIS中使用OLE DB从Sybase提取数据时出错

在SSIS中使用OLE DB从Sybase提取数据时出错,ssis,oledb,etl,sybase,advantage-database-server,Ssis,Oledb,Etl,Sybase,Advantage Database Server,我在SSIS(2017)中使用Advantage 11 OLE DB Provider从Sybase提取数据时遇到问题。 我可以连接到数据库,查看表列表,并且在选择表作为数据源时可以查看列。 但是,当我单击预览(或运行数据流任务)时,会出现以下错误: 提供程序无法从命令派生参数信息。 使用SetParameterInfo。(OLE DB提供程序的优势) 我没有使用任何参数,我的数据访问模式设置为“表格”或“视图”(请参见所附屏幕截图) 在项目属性中,Run64bitRuntime设置为Fals

我在SSIS(2017)中使用Advantage 11 OLE DB Provider从Sybase提取数据时遇到问题。 我可以连接到数据库,查看表列表,并且在选择表作为数据源时可以查看列。
但是,当我单击预览(或运行数据流任务)时,会出现以下错误:

提供程序无法从命令派生参数信息。 使用SetParameterInfo。(OLE DB提供程序的优势)

我没有使用任何参数,我的数据访问模式设置为“表格”或“视图”(请参见所附屏幕截图)

在项目属性中,
Run64bitRuntime
设置为
False


我错过了什么?谢谢

在搜索这个问题时,我发现了一个,他们提到:

标题:

“提供程序无法从命令派生参数信息。请使用SetParameterInfo”将客户端游标与OLE DB一起使用时发生

问题描述:

“提供程序无法从命令派生参数信息。使用SetParameterInfo”是在将游标位置设置为与Advantage OLE DB提供程序一起使用客户端时出现的

解决方案:

这是Advantage OLE DB Provider 1.0版本中的一个已知问题,Advantage研发团队正在对此进行研究。Advantage OLE DB Provider的1.1版本应修复此问题。同时,将游标位置设置为使用服务器端游标作为解决方法。服务器端游标与Advantage数据库服务器和Advantage本地服务器一起工作


我搜索了如何将CursorLocation设置为服务器端,也许您必须在连接字符串中设置
Advantage server Type
属性。实际上,我没有使用过这种类型的连接,但您可以参考以下文章来查看一些示例:

我还发现了一些关于
CursorLocation
属性的Microsoft官方文章,但我真的不知道在哪里更改此属性:


更新1-OLE DB服务 尝试使用OLEDB连接管理器中的
OLEDB服务
值:

另外,请参考以下文章,尝试在connectionstring中手动更改OLEDB服务值:


更新2-其他供应商 尝试使用其他提供程序连接到Sybase,如Sybase Adaptive Server Enterprise Data Provider
或ODBC,有许多链接描述整个过程:


  • 所以我最终解决了这个问题,但不是用OLE DB。相反,我使用了Advantage.NET数据提供程序11.1版。然后在Visual Studio中,我使用了ADO.NET连接管理器,在那里我将提供程序更改为Advantage数据提供程序,这就成功了。

    您看到这个线程了吗@JacobH,是的,谢谢你,但是,就像我说的,我在查询中没有使用任何参数,这是从表中直接提取的。听起来你已经解决了@雅各布,一点也不,我还是会出错@哈迪,没有。只是在您的答案下方回复(由于某些原因无法在那里标记您)。感谢您的帮助。我在连接字符串中添加了Advantage Server Type属性,但没有任何帮助。不幸的是,我找不到在哪里设置光标位置,谷歌也帮不上忙。@Tamila我添加了一个更新,请查看。我想这就是我所能做的。好luck@Tamila您可以使用其他提供商从sybase导入数据检查最新更新(2)这是我们的供应商告诉我们要使用的。。我仍在使用游标,但到目前为止运气不佳。@Tamila我认为您应该更改提供程序,因为缺少advatnage oledb的文档。检查更新2部分