OracleLob sql сервер varbinary эквивалентный объект для чтения VarBinary (max) C # - PullRequest
0 голосов
/ 27 сентября 2018

Мы недавно перешли с сервера Oracle на MS SQL, и у меня возникают проблемы при чтении VarBinary (max) с SQL Server

Код для Oracle был

    private byte[] CallSelectBlob(string aSqlCommand)
    {
        byte[] result = new byte[0];
        OracleCommand comm = new OracleCommand(aSqlCommand, oc);
        OracleDataReader reader = comm.ExecuteReader(System.Data.CommandBehavior.Default);

        while (reader.Read())
        {
            for (int i = 0; i < reader.FieldCount; i++)
            {
                string fieldName = reader.GetName(i);
                OracleLob myLob = reader.GetOracleLob(i);
                if (!myLob.IsNull)
                {
                    byte[] b = new byte[myLob.Length];
                    myLob.Read(b, 0, Convert.ToInt32(myLob.Length));
                    result = b;
                }
            }
        }
        reader.Close();
        return result;
    }

Иэто работало хорошо, но мне не удалось найти объект, который может заменить OracleLob чем-то, что может работать с VarBinary (max) (который будет служить в качестве файла PDF)

Функция должна вернуть его какбайт[].

Кто-нибудь знает способ, которым можно достичь этого?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...