Итак, я пытаюсь использовать панель инструментов базы данных в Matlab для запроса базы данных в моей исследовательской лаборатории, и на одном конкретном компьютере результаты, которые она возвращает из одного и того же запроса, изменяются каждый раз, когда вы запускаете команду SAME query.
connPV = database ('dbname', 'username', 'password');
Изображения = выборка (handles.connPV, ['SELECT i.id, i.image_type_id, i.image_subtype_id, i.series_description, i.image_file_path, i.date_of_image как studydates, ST.subtype_name, i.pretreatment_flag FROM images я JOIN image_subtypes ST на ST.id = i.image_subtype_id WHERE i.patient_id = 'num2str (45)' И ST.subtype_name НЕ НРАВИТСЯ "T0%" ORDER BY i.date_of_image '])
близко (connPV);
Ниже приведены результаты выполнения двух одинаковых строк кода:
Изображения = id: [20x1 double] image_type_id: [20x1 double] image_subtype_id: [20x1 double] series_description: {20x1 cell} image_file_path: {20x1 cell} studydates: {20x1 cell} subtype_name: {20x1 cell} pretreatment_flag: {20x1 cell}
Изображения = id: [19x1 double] image_type_id: [19x1 double] image_subtype_id: [19x1 double] series_description: {19x1 cell} image_file_path: {19x1 cell} studydates: {19x1 cell} subtype_name: {ячейка 19x1} pretreatment_flag: {19x1 cell}
Изображения = id: [5x1 double] image_type_id: [5x1 double] image_subtype_id: [5x1 double] series_description: {5x1 cell} image_file_path: {5x1 cell} studydates: {5x1 cell} subtype_name: {5x1 cell} pretreatment_flag: {5x1 cell}
Каждый раз он возвращает другое количество значений. Однако, если я открываю браузер запросов для mysql и запускаю команду, он работает каждый раз.
Я хочу быть ясным, что эта проблема специфична для конкретного компьютера. Когда мой script выполняется на других компьютерах в лаборатории, он работает отлично. Компьютер, на котором он не работает, - это Win7 X64, но в лаборатории есть другой X64; однако это единственный компьютер Win7.
Я переустановил Matlab, драйвер mysql и панель инструментов базы данных, и я пробовал это на 2009b и 2010a. У меня заканчиваются идеи для такой странной ошибки...... любые идеи?
Спасибо!
Тайлер
Как вы можете создавать Java-классы в Matlab, вы можете использовать драйвер mysql jdbc для выполнения ваших запросов. Выполненное как автономное приложение Java и написанное в Matlab, позволяет дополнительно изолировать проблему.