0

そのため、matlab のデータベース ツールボックスを使用して研究室のデータベースにクエリを実行しようとしていますが、ある特定のコンピューターで、同じクエリから返される結果が、SAME クエリ コマンドを実行するたびに変わります。

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 as studydates, ST.subtype_name, i.前​​処理フラグ FROM images i JOIN image_subtypes ST ST.id = i.image_subtype_id WHERE i.patient_id = ' num2str(45) ' AND ST.subtype_name NOT LIKE "T0%" ORDER BY i.date_of_image'])

閉じる (connPV);

以下は、同じコード行を 3 回実行した結果です。

画像 = id: [20x1 ダブル] image_type_id: [20x1 ダブル] image_subtype_id: [20x1 ダブル] series_description: {20x1 セル} image_file_path: {20x1 セル} studydates: {20x1 セル} サブタイプ名: {20x1 セル} 前処理フラグ: {20x1 セル}

画像 = 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 cell} 前処理フラグ: {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} 前処理フラグ: {5x1 cell}

毎回、異なる数の値を返します。ただし、mysql のクエリ ブラウザを開いてコマンドを実行すると、毎回動作します。

この問題は特定のコンピューターに固有のものであることを明確にしたいと思います。私のスクリプトがラボ内の他のコンピューターで実行されると、完全に実行されます。失敗しているコンピューターは Win7 X64 ですが、ラボには他の X64 があります。ただし、これは唯一の Win7 コンピューターです。

matlab、mysql ドライバー、およびデータベース ツールボックスを再インストールし、2009b と 2010a で試しました。このような奇妙なエラーのアイデアが不足しています...何かアイデアはありますか??

ありがとう!

タイラー

4

1 に答える 1

0

matlab で Java クラスをインスタンス化できるため、mysql jdbc ドライバーを使用してクエリを実行できます。Java スタンドアロン アプリケーションとして実行し、matlab でスクリプトを作成すると、問題をさらに特定できます。

于 2010-09-03T18:07:38.303 に答える