久久精品水蜜桃av综合天堂,久久精品丝袜高跟鞋,精品国产肉丝袜久久,国产一区二区三区色噜噜,黑人video粗暴亚裔

Xlight FTP/使用數(shù)據(jù)庫存儲(chǔ)過程

來自站長百科
夢回千禧年討論 | 貢獻(xiàn)2011年8月5日 (五) 18:02的版本 (以內(nèi)容“{{Xlight FTP}} ==使用Xlight FTP服務(wù)器數(shù)據(jù)庫存儲(chǔ)過程== <p style="text-indent:2em;">Xlight FTP服務(wù)器可以配置使用數(shù)據(jù)庫存儲(chǔ)過程認(rèn)證ftp...”創(chuàng)建新頁面)
(差異) ←上一版本 | 最后版本 (差異) | 下一版本→ (差異)
跳轉(zhuǎn)至: 導(dǎo)航、? 搜索

Xlight FTP | Xlight FTP安裝 |Xlight FTP使用

使用Xlight FTP服務(wù)器數(shù)據(jù)庫存儲(chǔ)過程

Xlight FTP服務(wù)器可以配置使用數(shù)據(jù)庫存儲(chǔ)過程認(rèn)證ftp用戶. 它提供了靈活性以集成Xlight FTP服務(wù)器到其他類型數(shù)據(jù)庫應(yīng).

在我們開始存儲(chǔ)過程指南之前, 我們需要解釋一些關(guān)于ODBC功能如何在Xlight FTP服務(wù)器內(nèi)部運(yùn)作.

Xlight FTP服務(wù)器使用2個(gè)數(shù)據(jù)庫表存儲(chǔ)用戶設(shè)置. Xlight FTP服務(wù)器ODBC功能最主要的表是"acct_table", 它存儲(chǔ)一個(gè)用戶基本的設(shè)置, 例如host_id, host_port, 用戶名, 口令和他的組, 主目錄和主目錄權(quán)限等. 第二個(gè)表是"acct_param_table", 由在"acct_table"查詢返回的"param_index"列做索引. 它存儲(chǔ)用戶的其他設(shè)置, 這些設(shè)置可以作為所有用戶的參數(shù)模板.

當(dāng)用戶登錄到FTP服務(wù)器, Xlight FTP服務(wù)器里將發(fā)送二次SQL查詢到這個(gè)數(shù)據(jù)庫, 驗(yàn)證他的口令和獲得他的設(shè)置. 第一次SQL查詢用這個(gè)用戶名和口令, 在數(shù)據(jù)庫查找符合記錄, 并且獲得基本的參數(shù), 例如"home_path", "home_perm"等. 第一次SQL查詢返回的"param_index"值為索引將用于第二次SQL查詢. 如果第一次SQL查詢不返回"param_index", Xlight FTP服務(wù)器將不會(huì)發(fā)送第二次SQL查詢. 第二次SQL查詢將查詢數(shù)據(jù)庫表“acct_param_table”獲得此用戶的更多參數(shù).

在Xlight FTP服務(wù)器使用數(shù)據(jù)庫存儲(chǔ)過程

許多數(shù)據(jù)庫系統(tǒng)支持存儲(chǔ)過程. 我們使用MySQL數(shù)據(jù)庫作為例子. 使用MySQL之前, 你必須下載最新的 MySQL ODBC Driver - 3.51.16 或者更高版本. 否則,因?yàn)?a href="/wiki/MySQL" title="MySQL">MySQL的Bug #27544, 第二次SQL查詢將會(huì)失敗. 其他類型的數(shù)據(jù)庫,你也最好升級(jí)數(shù)據(jù)庫相應(yīng)的ODBC Driver到最新版本.

在使用存儲(chǔ)過程之前必須設(shè)置數(shù)據(jù)庫ODBC數(shù)據(jù)源. 你可以參考這里的設(shè)置步驟.

在本例中, 我們有一個(gè)表"account_info"在這個(gè)數(shù)據(jù)庫里. 此表是其他數(shù)據(jù)庫應(yīng)用程序所使用, 它存儲(chǔ)用戶名, 口令和用戶發(fā)表的文章數(shù)目(posts). 我們也創(chuàng)建了另一個(gè)表"acct_param_table", 它是Xlight FTP服務(wù)器中的一張數(shù)據(jù)庫表, 用于存儲(chǔ)用戶參數(shù). 我們沒有創(chuàng)建Xlight FTP服務(wù)器的主要數(shù)據(jù)庫表"acct_table ", 因?yàn)槲覀儗⑹褂么鎯?chǔ)過程模擬其功能.

A1.jpg


下面代碼是范例MySQL存儲(chǔ)過程test () ,它接受2個(gè)參數(shù), username_in和password_in.

DELIMITER $$ DROP PROCEDURE IF EXISTS test $$ CREATE PROCEDURE test(username_in VARCHAR(65), password_in VARCHAR(65)) main: BEGIN

 DECLARE user_name VARCHAR(65);
 DECLARE home_path VARCHAR(255);
 DECLARE home_perm VARCHAR(10);
 DECLARE num_posts, param_index INT(10);
 SELECT `account`, `Posts`
   INTO user_name, num_posts
   FROM account_info
   WHERE account = username_in AND password = password_in;
 IF user_name != username_in THEN
   LEAVE main;
 END IF;
 SET home_perm = 'LRS';
 IF num_posts > 100 THEN
   SET param_index = 1;
   SET home_path = 'c:\\folder_1';
 ELSEIF num_posts > 200 THEN
   SET param_index = 2;
   SET home_path = 'c:\\folder_2';
 ELSE
   SET param_index = 0;
   SET home_path = 'c:\\folder_0';
 END IF;
 SELECT home_path,home_perm,param_index;

END $$ DELIMITER ;


存儲(chǔ)過程test()接受明碼文本口令的password_in參數(shù). 你必須為虛擬服務(wù)器配置ODBC使用明碼文本口令, 如下圖所示

A2.jpg


上面的存儲(chǔ)過程test()將檢查數(shù)據(jù)庫account_info驗(yàn)證用戶, 如果用戶名或口令不符合, 將沒有結(jié)果集返回Xlight FTP服務(wù)器,這個(gè)用戶的驗(yàn)證將失敗.

在成功的用戶認(rèn)證以后, 這個(gè)程序?qū)⒏鶕?jù)用戶在"account_info"表里發(fā)表的文章數(shù)目(posts), 返回不同的param_index, home_path值. 最終test()程序?qū)⒂谜Z句"SELECT home_path,home_perm,param_index;"返回結(jié)果集到Xlight FTP服務(wù)器.

因?yàn)閠est()程序替換"acct_table"的功能, 您應(yīng)該放置"call test('$USER','$PASS');"在選項(xiàng)"替換第一條內(nèi)部SQL查詢語句"中,如下圖所示.


A3.jpg

$USER和$PASS是預(yù)定義參數(shù), Xlight FTP服務(wù)期將用登錄用戶實(shí)際的用戶名和密碼自動(dòng)替換它們. 如果需要查詢支持的預(yù)定義參數(shù), 請(qǐng)查閱幫助手冊的[全局選項(xiàng)]->[高級(jí)]這一節(jié).

如果您想要解決數(shù)據(jù)庫查詢的問題,你可以選擇這個(gè)選項(xiàng)"記錄SQL查詢錯(cuò)誤到系統(tǒng)錯(cuò)誤日志",你將能在系統(tǒng)錯(cuò)誤日志中看到SQL查詢錯(cuò)誤.


Xlight FTP使用手冊導(dǎo)航

Xlight FTP安裝

Xlight FTP服務(wù)器安裝

Xlight FTP使用

使用Xlight FTP的UPnP功能 | 設(shè)置Xlight FTP SSL/TLS功能 | 設(shè)置Xlight FTP SSH2/SFTP協(xié)議 | UNC路徑賬號(hào)身份模擬功能 | 使用ODBC用戶數(shù)據(jù)庫 | 使用數(shù)據(jù)庫存儲(chǔ)過程 | 將文件傳輸日志通過ODBC寫入數(shù)據(jù)庫 | 設(shè)置電子郵件通知 | 整合微軟活動(dòng)目錄 | 整合LDAP服務(wù)器 | 設(shè)置外部認(rèn)證的默認(rèn)用戶