Database Toolbox (sql-matlab) случайным образом возвращает разные значения только для компьютера с Windows 7 - PullRequest
0 голосов
/ 03 сентября 2010

Поэтому я пытаюсь использовать набор инструментов базы данных в Matlab для запроса базы данных в моей исследовательской лаборатории, и на одном конкретном компьютере результаты, которые он возвращает из одного и того же запроса, меняются каждый раз, когда вы запускаете ту же команду запроса.

connPV = база данных ('dbname', 'username', 'password');

Images = fetch (handles.connPV, ['SELECT i.id, i.image_type_id, i.image_subtype_id, i.series_description, i.image_file_path, i.date_of_image в качестве обучающихся, ST.subtype_name, i.pretreatment_flag ИЗ ИЗОБРАЖЕНИЙ ИЗ ОБЪЕДИНЕНИЯ.subtype_name NOT LIKE "T0%" ORDER BY i.date_of_image '])

close (connPV);

Вот результаты выполнения тех же строк кода три раза:

Images = id: [20x1 double] image_type_id: [20x1 double] image_subtype_id: [20x1 double] series_description: {20x1 ячейка} image_file_path: {20x1 ячейка} изучает: {20x1 ячейка} subtype_name: {20x1 ячейка} pretreatment_flag: {20x1 ячейка}

Images = id: [19x1 double] image_type_id: [19x1 double] image_subtype_id: [19x1 double] series_description: {19x1 cell} image_file_path: {19x1 ячейка} Studydates: {19x1 ячейка} subtype_name: {19x1 ячейка} предварительноtreatment_flag: {19x1 ячейка}

Images = id: [5x1 double] image_type_id: [5x1 double] image_subtype_id: [5x1 double] series_description: {5x1 ячейка} image_file_path: {5x1 ячейка} изучает: {5x1 ячейка}subtype_name: {5x1 cell} pretreatment_flag: {5x1 cell}

Каждый раз он возвращает различное количество значений.Однако, если я открываю браузер запросов для mysql и запускаю команду, она работает каждый раз.

Я хочу пояснить, что эта проблема характерна для конкретного компьютера.Когда мой сценарий выполняется на других компьютерах в лаборатории, он работает отлично.Компьютер, на котором происходит сбой, - это Win7 X64, но в лаборатории есть и другие X64;однако это единственный компьютер с Win7.

Я переустановил matlab, драйвер mysql и набор инструментов базы данных, и я попробовал его на 2009b и 2010a.У меня заканчиваются идеи для такой странной ошибки ...... любые идеи ??

Спасибо!

Тайлер

1 Ответ

0 голосов
/ 03 сентября 2010

Поскольку вы можете создавать экземпляры java-классов в matlab, вы можете использовать драйвер mysql jdbc для выполнения ваших запросов. Выполненный как отдельное Java-приложение и написанный на языке сценариев в Matlab, позволяет дополнительно изолировать проблему.

...