我想從Matlab與MySQL數據庫交互。
我發現一個mysql
「庫」的matlab here和mathworks相同。MySQL和Matlab
我按照指示編譯庫,編譯看起來很成功。最後我得到一個mex32文件。只有,第一頁上的說明指的是我需要使用的Dll(我猜應該生成一個Dll)。
我不熟悉mex編譯器或編譯Matlab的外部模塊。
我錯過了一些微不足道的東西嗎? Dll應該在哪裏?
謝謝。
我想從Matlab與MySQL數據庫交互。
我發現一個mysql
「庫」的matlab here和mathworks相同。MySQL和Matlab
我按照指示編譯庫,編譯看起來很成功。最後我得到一個mex32文件。只有,第一頁上的說明指的是我需要使用的Dll(我猜應該生成一個Dll)。
我不熟悉mex編譯器或編譯Matlab的外部模塊。
我錯過了一些微不足道的東西嗎? Dll應該在哪裏?
謝謝。
對dll的引用已過時。
在Windows上編譯mex函數時,將其編譯爲dll(不是.exe)。因此,編譯的mex函數用來擴展.dll。帶有.dll擴展名的Mex函數仍然有效,但有一個警告,這可能會在未來停止。
當64位Windows到達時,TheMathWorks需要一種方式讓人們能夠爲Win32和Win64編譯相同的mex函數,因此他們分別將擴展名更改爲.mexw32和.mexw64。顯然,他們沒有完全更新文檔。
好的,這裏是我的問題的解決方案。
該編譯確實生成了一個mex32文件(32是因爲我在32位系統下編譯它)。您可以通過運行mexext
來檢查編譯的輸出文件。顯然,mex32文件是C
文件的編譯版本。
一旦我將該文件放置在Matlab工作路徑中的一個目錄中。
我想在我提供的鏈接中對Dll的引用不是過時就是錯誤。
或者,文檔混淆和困惑 - mex文件是Windows系統上的DLL。 Matlab命令'mex'實際上只是一個包裝腳本,它調用編譯器並將正確的標誌和設置傳遞給它以創建DLL/mex文件 – 2010-03-19 13:38:00
我建議使用java連接MATLAB和MySQL(或任何其他數據庫,如果需要)。
java數據庫連接器設置簡單。我構建了一個簡單的java類來連接到數據庫 - 請參閱previous posting,以獲得一個簡單但工作正常的解決方案。
的MATLAB代碼工作指示
% include java class
import Jam.ConnectToDatabase
% set up database connection info
userName='myName';
userPassword='myPassword';
databaseUrl='jdbc:mysql://glnd2818898.internal.net/2000';
% create java class instance and open connection to the database
ctd = ConnectToDatabase;
ctd.openConnection(userName, userPassword, databaseUrl)
一旦連接是開放的話,我可以使用Java方法來提交SQL查詢,創建表,插入數據等之前,我從來沒有使用Java,但我下載Netbeans,我不在。
感謝您的澄清。 – Shaihi 2010-03-19 15:29:48