銀聯卡bin:發卡行識別碼,最長 12
位,最短 6
位,因此在卡交易時候需要判斷其bin屬於哪家銀行,要從12位開始判斷,如果12位沒有,則判斷11位,直到6位,如果6位也沒有,那即視為非銀聯交易卡
但是由於卡bin資訊是存在資料庫中的,所以在交易的時候每次都查詢資料庫,會使交易時間更慢,容易造成交易超時,而且運算元據庫太頻繁
,所以我選擇了一次查詢出來,存放到static陣列變數中,判斷卡bin的時候從陣列中查詢,這樣做,程式只要在載入的時候就存放在記憶體
中,每次使用直接從記憶體裡面讀取,不用再運算元據庫,對於分布式資料庫應用有很大的意義,儘管記憶體資源的占用會增加,但是是值得的
#define
cupsctl_count 500
static
cupsctl local_cupsctl[cupsctl_count];
static int local_cupsctl_cnt;
intinit_cupsctl(hstmt
v_hstmt
) /*初始化資料庫中卡bin放到記憶體中*/
cupsctl_cnt = 0;
sprintf(l_tmpstr,"select * from cupsctl order by dc_preind");
clcenreset(v_hstmt
);ret_code = clcenexec(v_hstmt
,(unsigned char *)l_tmpstr,sql_nts);
if(ret_code == sql_success || ret_code== sql_success_with_info)
}local_cupsctl_cnt = cupsctl_cnt;
}else
return 0;
}/*從陣列中判斷此卡bin的資訊*/
intget_cupsctl_forarray(
char
*v_tcard_no
,cupsctl
*v_cupsctl)}
if ( 1 == stop_flag )
}if ( 1 != stop_flag )
return 0;
}
銀聯卡中關於CVN CVN2 ICVN的區別
銀聯china union pay,是中國唯一合法的卡組織機構,同時也是emvco成員。關於銀聯卡中cvn cvn2 icvn的區別,剛開始我自己不了解,但經過查詢資料和請教其他人,對它們的概念也漸漸明朗起來,故整理記錄下來,供有興趣的人們也了解。cvn,英文全稱是card verification...
銀聯卡中關於CVN CVN2 ICVN的區別
銀聯china union pay,是中國唯一合法的卡組織機構,同時也是emvco成員。關於銀聯卡中cvn cvn2 icvn的區別,剛開始我自己不了解,但經過查詢資料和請教其他人,對它們的概念也漸漸明朗起來,故整理記錄下來,供有興趣的人們也了解。cvn,英文全稱是card verification...
關於ubuntu 中bin不在PATH環境變數中
我的ubuntu16.04在設定編譯環境時,jdk下path設定錯誤,導致無法正常使用,具體錯誤如下 除正常的 markdown 使用者身份切換 sudo su 以及 markdown 檔案目錄切換 cd 外,幾乎所有常用命令都無效,由於本人的 markdown source usr bin enc...