找不到存储过程'sp_oledb_columns'

时间:2016-06-17 17:05:47

标签: c# sql-server sybase-ase

我在MSSQL SERVER中有一个表,我想使用ASE客户端批量复制到SYBASE 12.5,但我不断收到此错误“找不到存储过程'sp_oledb_columns'”。我该如何解决这个问题?

这是我的代码

using (AseConnection theCons = new AseConnection(connstring))
            {    
if (theCons.State != ConnectionState.Open)
                    {
                        theCons.Open();
                    }

                    AseBulkCopy objbulk = new AseBulkCopy(theCons);

                    objbulk.DestinationTableName = "dbo.itb_payment_upload";
                    objbulk.ColumnMappings.Add(new AseBulkCopyColumnMapping() { SourceColumn = "from_acct_no", DestinationColumn = "from_acct_no" });
                    objbulk.ColumnMappings.Add(new AseBulkCopyColumnMapping() { SourceColumn = "to_acct_no", DestinationColumn = "to_acct_no" });
                    objbulk.ColumnMappings.Add(new AseBulkCopyColumnMapping() { SourceColumn = "Itbid", DestinationColumn = "RecordId" });


                    try
                    {
                        objbulk.WriteToServer(dt); //where dt is my DataTable from my source table
                    }
                    catch (Exception exception)
                    {

                    }
}

1 个答案:

答案 0 :(得分:0)

AseBulkCopy(通过connection.GetSchema("columns"))调用此过程以加载目标表列元数据。 不确定12.5是否具有此过程,即使存在,它也与提供程序不兼容,因此,如果要使用批量复制,则需要使用sqlbrowser.com中的代码重新创建。