2012-06-25 7 views
0

У меня есть часть кода в формате matlab, ниже которой читаются данные из таблицы. Когда я запускаю этот код в студии Matlab, тип cursor.data является массивом ячеек. Но когда я использую свой Java-код для запуска этого кода в MCR, тип cursor.data является двойным. Моя версия Matlab Studio - 2012a. Моя версия MCR теперь - 2011b. Я пытаюсь обновить мою версию MCR до 2012a. Помимо возможной проблемы с версией, кто-нибудь знает другую возможную причину, которая вызывает эту проблему? Благодаря!Несоответствие типа данных Matlab для cursor.data при запуске matlab-кода в MCR и студии Matlab

cur = exec(conn, ['SELECT CAST(Customer_Key AS NUMERIC(38,6)), ... 
      CAST(Product_Key AS NUMERIC(38,6)), Spend FROM ' inputTable]); 
cursor = fetch(cur); 

ответ

0

Это звучит как проблема с конфигурацией. Проверьте документы для setdbprefs, чтобы просмотреть параметры.

setdbprefs('datareturnformat','cellarray') 

Возможно, вам нужно будет настроить параметр конфигурации явно так.

+0

Я не настроил никаких настроек базы данных. Я был удивлен, увидев эту несогласованность в MCR и студии Matlab. – lijie98

+0

Я никогда не использовал MCR; возможно, конфигурация по умолчанию просто отличается. – tmpearce

+0

После обновления MCR 12a проблема решена. – lijie98

Смежные вопросы