2012-09-17 70 views
2

我正在使用MySQL UDF函數sys_exec在MySQL的觸發器內調用Java程序。你能給我提供關於如何將參數傳遞給sys_exec以便它會調用Java程序的信息嗎?MySQL UDF sys_exec

回答

2

您可以使用此link to use sys_exec function。它說,

sys_exec sys_exec接受一個命令字符串參數並執行它。 語法

sys_exec(ARG1)參數和返回值

ARG1:一個命令串有效用於當前操作系統或 執行環境。返回由 執行的進程返回的(整數)退出代碼。安裝

將共享庫二進制文件放在適當的位置。以root身份或以具有足夠權限的其他用戶身份登錄到 ,並且 選擇任何數據庫。然後,使用以下DDL 語句創建函數:CREATE FUNCTION sys_exec RETURNS INT SONAME 'lib_mysqludf_sys.so'; 該功能將在全球所有數據庫中可用。卸載函數,運行以下語句:DROP FUNCTION sys_exec;

對於執行Java程序,您應該將arg1填充爲"java <absolute path to precompiled program to run>"

注意:應該事先配置到java的路徑。

希望它有幫助...

+0

shubhansh我已經做了所有的事情,但沒有能夠糾正可以讓java程序調用的參數。你能否給我提供有關sys_exec採用的參數字符串的信息。 –

+0

你輸入的是什麼參數?你遵循了哪些步驟?提供一些更多細節.... – Shubhansh

+0

sys_exec('java/home/Desktop/helloWorld')這是作爲參數傳遞的。這裏的helloWorld是一個不被exec函數調用的類。 –