應(yīng)用系統(tǒng)二次開發(fā)中數(shù)據(jù)庫(kù)數(shù)據(jù)讀取的捷徑
摘要:應(yīng)用系統(tǒng)的二次開發(fā),一般通過ODBC等數(shù)據(jù)庫(kù)驅(qū)動(dòng)讀取數(shù)據(jù)庫(kù)數(shù)據(jù),或者由開發(fā)廠商提供接口API函數(shù)。由于數(shù)據(jù)庫(kù)驅(qū)動(dòng)經(jīng)過了很多中間環(huán)節(jié),而且需要考慮到通用性、兼容性等各個(gè)方面,使性能、效率大打折扣;一般
= *Electricity;
memcpy(buf , &data , sizeof(Datastru) );
SOCKET m_s;
HOSTENT *phe;
WSADATA wsaData;
WORD wVersionRequested = MAKEWORD( 2, 2 );
int err = WSAStartup( wVersionRequested, &wsaData );
if ( err != 0 ) return;
if ( LOBYTE( wsaData.wVersion ) != 2 || HIBYTE( wsaData.wVersion ) != 2 )
{
WSACleanup( );
return;
}
char cszIPAddr[256];
gethostname(cszIPAddr ,256); //取本機(jī)的主機(jī)名
u_short usPort =5555; //端口號(hào)
SOCKADDR_IN m_Local_sin;
phe = gethostbyname( cszIPAddr ); //取本機(jī)的IP地址。
//如果是其他計(jì)算機(jī)的IP地址,可以直接在此轉(zhuǎn)換。
if(phe == NULL)
{
closesocket( m_s );
return ;
}
m_s = socket(AF_INET, SOCK_STREAM, 0);
if( m_s == INVALID_SOCKET )
{
return ;
}
memcpy(&(m_Local_sin.sin_addr),(in_addr*)phe->h_addr_list[0],sizeof(in_addr));
m_Local_sin.sin_port = htons( usPort);
m_Local_sin.sin_family = AF_INET;
connect(m_s,(PSOCKADDR)&m_Local_sin,sizeof(m_Local_sin) );
send(m_s,buf, sizeof(Datastru), 0); //把數(shù)據(jù)發(fā)送到數(shù)據(jù)處理中心
closesocket( m_s );
}
用戶自定義函數(shù)完成后,需要采用Visuall C++編譯器,在DB2的環(huán)境下編譯、鏈接成可執(zhí)行文件或動(dòng)態(tài)鏈接庫(kù),拷貝到數(shù)據(jù)庫(kù)自定義函數(shù)的文件目錄下,并在DB2數(shù)據(jù)庫(kù)中創(chuàng)建此自定義函數(shù)后,才能正常使用。有關(guān)過程可參考DB2的開發(fā)參考文獻(xiàn)。
結(jié)語:
本文利用數(shù)據(jù)庫(kù)和操作系統(tǒng)的特性,提供了二次開發(fā)的另一種方法,數(shù)據(jù)的響應(yīng)速度幾乎與原系統(tǒng)同步。當(dāng)然,前提是對(duì)數(shù)據(jù)庫(kù)的結(jié)構(gòu)比較熟悉。如果系統(tǒng)應(yīng)用者參與了數(shù)據(jù)庫(kù)的結(jié)構(gòu)設(shè)計(jì),或者開發(fā)廠家提供必要的協(xié)助,此方法能讀取數(shù)據(jù)庫(kù)的任何數(shù)據(jù),給系統(tǒng)的二次開發(fā)開辟了一條新的捷徑。
作者簡(jiǎn)介:
楊君中,工程師,從事電力系統(tǒng)信息化的應(yīng)用工作,主要研究網(wǎng)絡(luò)和信息安全應(yīng)用技術(shù)。電子信箱:37212000@163.com ,37212000@sohu.com
通訊地址:江蘇省泰州市鳳凰西路2#
郵 編:225300
聯(lián)系電話:0523-6682926
memcpy(buf , &data , sizeof(Datastru) );
SOCKET m_s;
HOSTENT *phe;
WSADATA wsaData;
WORD wVersionRequested = MAKEWORD( 2, 2 );
int err = WSAStartup( wVersionRequested, &wsaData );
if ( err != 0 ) return;
if ( LOBYTE( wsaData.wVersion ) != 2 || HIBYTE( wsaData.wVersion ) != 2 )
{
WSACleanup( );
return;
}
char cszIPAddr[256];
gethostname(cszIPAddr ,256); //取本機(jī)的主機(jī)名
u_short usPort =5555; //端口號(hào)
SOCKADDR_IN m_Local_sin;
phe = gethostbyname( cszIPAddr ); //取本機(jī)的IP地址。
//如果是其他計(jì)算機(jī)的IP地址,可以直接在此轉(zhuǎn)換。
if(phe == NULL)
{
closesocket( m_s );
return ;
}
m_s = socket(AF_INET, SOCK_STREAM, 0);
if( m_s == INVALID_SOCKET )
{
return ;
}
memcpy(&(m_Local_sin.sin_addr),(in_addr*)phe->h_addr_list[0],sizeof(in_addr));
m_Local_sin.sin_port = htons( usPort);
m_Local_sin.sin_family = AF_INET;
connect(m_s,(PSOCKADDR)&m_Local_sin,sizeof(m_Local_sin) );
send(m_s,buf, sizeof(Datastru), 0); //把數(shù)據(jù)發(fā)送到數(shù)據(jù)處理中心
closesocket( m_s );
}
用戶自定義函數(shù)完成后,需要采用Visuall C++編譯器,在DB2的環(huán)境下編譯、鏈接成可執(zhí)行文件或動(dòng)態(tài)鏈接庫(kù),拷貝到數(shù)據(jù)庫(kù)自定義函數(shù)的文件目錄下,并在DB2數(shù)據(jù)庫(kù)中創(chuàng)建此自定義函數(shù)后,才能正常使用。有關(guān)過程可參考DB2的開發(fā)參考文獻(xiàn)。
結(jié)語:
本文利用數(shù)據(jù)庫(kù)和操作系統(tǒng)的特性,提供了二次開發(fā)的另一種方法,數(shù)據(jù)的響應(yīng)速度幾乎與原系統(tǒng)同步。當(dāng)然,前提是對(duì)數(shù)據(jù)庫(kù)的結(jié)構(gòu)比較熟悉。如果系統(tǒng)應(yīng)用者參與了數(shù)據(jù)庫(kù)的結(jié)構(gòu)設(shè)計(jì),或者開發(fā)廠家提供必要的協(xié)助,此方法能讀取數(shù)據(jù)庫(kù)的任何數(shù)據(jù),給系統(tǒng)的二次開發(fā)開辟了一條新的捷徑。
作者簡(jiǎn)介:
楊君中,工程師,從事電力系統(tǒng)信息化的應(yīng)用工作,主要研究網(wǎng)絡(luò)和信息安全應(yīng)用技術(shù)。電子信箱:37212000@163.com ,37212000@sohu.com
通訊地址:江蘇省泰州市鳳凰西路2#
郵 編:225300
聯(lián)系電話:0523-6682926

責(zé)任編輯:和碩涵
免責(zé)聲明:本文僅代表作者個(gè)人觀點(diǎn),與本站無關(guān)。其原創(chuàng)性以及文中陳述文字和內(nèi)容未經(jīng)本站證實(shí),對(duì)本文以及其中全部或者部分內(nèi)容、文字的真實(shí)性、完整性、及時(shí)性本站不作任何保證或承諾,請(qǐng)讀者僅作參考,并請(qǐng)自行核實(shí)相關(guān)內(nèi)容。
我要收藏
個(gè)贊
-
現(xiàn)貨模式下谷電用戶價(jià)值再評(píng)估
2020-10-10電力現(xiàn)貨市場(chǎng),電力交易,電力用戶 -
PPT | 高校綜合能源服務(wù)有哪些解決方案?
2020-10-09綜合能源服務(wù),清潔供熱,多能互補(bǔ) -
深度文章 | “十三五”以來電力消費(fèi)增長(zhǎng)原因分析及中長(zhǎng)期展望
2020-09-27電力需求,用電量,全社會(huì)用電量
-
PPT | 高校綜合能源服務(wù)有哪些解決方案?
2020-10-09綜合能源服務(wù),清潔供熱,多能互補(bǔ) -
深度文章 | “十三五”以來電力消費(fèi)增長(zhǎng)原因分析及中長(zhǎng)期展望
2020-09-27電力需求,用電量,全社會(huì)用電量 -
我國(guó)電力改革涉及的電價(jià)問題
-
電化學(xué)儲(chǔ)能應(yīng)用現(xiàn)狀及對(duì)策研究
2019-08-14電化學(xué)儲(chǔ)能應(yīng)用 -
《能源監(jiān)測(cè)與評(píng)價(jià)》——能源系統(tǒng)工程之預(yù)測(cè)和規(guī)劃
-
《能源監(jiān)測(cè)與評(píng)價(jià)》——能源系統(tǒng)工程之基本方法
-
貴州職稱論文發(fā)表選擇泛亞,論文發(fā)表有保障
2019-02-20貴州職稱論文發(fā)表 -
《電力設(shè)備管理》雜志首屆全國(guó)電力工業(yè) 特約專家征文
2019-01-05電力設(shè)備管理雜志 -
國(guó)內(nèi)首座蜂窩型集束煤倉(cāng)管理創(chuàng)新與實(shí)踐
-
人力資源和社會(huì)保障部:電線電纜制造工國(guó)家職業(yè)技能標(biāo)準(zhǔn)
-
人力資源和社會(huì)保障部:變壓器互感器制造工國(guó)家職業(yè)技能標(biāo)準(zhǔn)
-
《低壓微電網(wǎng)并網(wǎng)一體化裝置技術(shù)規(guī)范》T/CEC 150
2019-01-02低壓微電網(wǎng)技術(shù)規(guī)范
-
現(xiàn)貨模式下谷電用戶價(jià)值再評(píng)估
2020-10-10電力現(xiàn)貨市場(chǎng),電力交易,電力用戶 -
建議收藏 | 中國(guó)電價(jià)全景圖
2020-09-16電價(jià),全景圖,電力 -
一張圖讀懂我國(guó)銷售電價(jià)附加
2020-03-05銷售電價(jià)附加