В моем приложении у меня есть база данных IBM DB2 в качестве хранилища, а уровень моей службы данных реализован с использованием Node.js. Я установил соединение JDBC с базой данных IBM DB2 iSeries подходом DataDirect, данным Progress, используя db2.jar. Когда я выполняю любой запрос выбора, результат, возвращаемый из БД, является шестнадцатеричным значением, которое не является правильным, что я хочу. Чтобы решить эту проблему, у меня есть возможность использовать функцию CAST на уровне запроса с каждым столбцом, но это не так эффективно, как я должен применять этот CAST в каждом столбце, поэтому я пытаюсь получить общее решение на уровне соединения, чтобы Мне не нужно применять этот приведение в каждом столбце так же, как «translate binary = true» в JTOpen.Как преобразовать шестнадцатеричные данные IBM DB2 в надлежащем формате (CCSID 37) на уровне соединения без использования функции CAST
Ниже приведены результаты с запросом на выборку -
Without CAST function :
Query = SELECT poMast.ORDNO from AMFLIBL.POMAST AS poMast WHERE poMast.ORDNO = 'P544901'
Result in Hex format = D7F5F4F4F9F0F1
With CAST function :
Query = SELECT CAST(poMast.ORDNO CHAR(7) CCSID 37) AS ORDNO from AMFLIBL.POMAST AS poMast WHERE poMast.ORDNO IS NOT NULL
Result in proper format = P544901
Connection URL = "jdbc:datadirect:db2://hostname:port;DatabaseName=dbname;"
Любая помощь будет оценена.