将Oracle数据库数据类型迁移到c#.net中的Sql数据库数据类型

时间:2012-08-22 06:46:47

标签: c# sql

这里我们需要将qracle数据库迁移到sql server。 这里我们使用的是c#.net应用程序。

下面给出的Oracle示例代码。

这里我们使用的是OracleType.Cursor,那么sqldbtype中的等价是什么

public DataSet GetL3CompanyDesc()
{
    DataSet dsCompanyDetails = new DataSet();
    try
    {
        oracleConnection = new OracleConnection(connectionString);
        OracleParameter[] arrayParameter = new OracleParameter[2];
        arrayParameter[0] = new OracleParameter(IODDALConstants.GetL3CompanyDescRefCur, OracleType.Cursor);
        arrayParameter[0].Direction = ParameterDirection.Output;
        arrayParameter[1] = new OracleParameter(IODDALConstants.GetL3CompanyDescCubeVersion, OracleType.Cursor);
        arrayParameter[1].Direction = ParameterDirection.Output;
        OracleHelper.FillDataset(oracleConnection, CommandType.StoredProcedure, IODDALConstants.GetL3CompanyDesc, dsCompanyDetails, new string[] { IODDALConstants.GetL3CompanyDescTableName }, arrayParameter);
    }
    catch (Exception ex)
    {
        bool rethrow = ExceptionLogEntry.HandleDALException(ex);
        if (rethrow)
        {
            throw;
        }
    }
    finally
    {
        if (oracleConnection != null)
            oracleConnection.Dispose();
    }
    return dsCompanyDetails;
}

在Oracle存储过程中,它们将游标作为参数传递。 是否有可能将游标作为参数传递给SQL。 以及如何将游标作为输出参数从c#code传递给sql存储过程?

有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

您无法在T-SQL中将CURSOR作为SP参数传递。使用表格值参数,如此MSDN sample

中所示