Преобразование даты Vb.Net в Oracle.Date не работает при использовании ArrayBind - PullRequest
0 голосов
/ 27 апреля 2019

При использовании Oracle.ManagedDataAccess.Client BulkUpdate с VB.NET.Дата не преобразуется в Oracle 12c Date.

Я пытаюсь преобразовать VB.NET Date в Oracle Date.При вызове ExcecuteNonQuery я получаю сообщение об ошибке «Один из идентифицированных элементов был в недопустимом формате».Я попытался преобразовать дату в строку, используя несколько форматов даты, и все они отклоняются.Массовое обновление работает на даты?Ни один из примеров дат использования строк?

Я пытался использовать следующие форматированные строки дат

    Public Function GetDateStringArray(dates As Date()) As String()

        Return dates.Select(Function(x) x.ToString("dd-MMM-yy").ToUpper()).ToArray()
        'Return dates.Select(Function(x) x.ToString("yyyy-MM-dd")).ToArray()
        'Return dates.Select(Function(x) x.ToString("dd-MMM-yy")).ToArray()
        'Return dates.Select(Function(x) x.ToString("dd-MMM-yyyy")).ToArray()
        'Return dates.Select(Function(x) x.ToString().).ToArray()
    End Function

Я добавил массив отформатированных строк DateStrings в коллекцию параметров Oracle

 oraCmdAdapter.Parameters.Add(dbParams.DocCreationDates)

Массив дат, переданный в метод добавления параметров, выглядит правильно.

Ожидание: строки добавлены в базу данных Oracle. Факт: Сообщение об ошибке «Один из идентифицированных элементов был в недопустимом формате».

...