應用系統(tǒng)二次開發(fā)中數據庫數據讀取的捷徑
摘要:應用系統(tǒng)的二次開發(fā),一般通過ODBC等數據庫驅動讀取數據庫數據,或者由開發(fā)廠商提供接口API函數。由于數據庫驅動經過了很多中間環(huán)節(jié),而且需要考慮到通用性、兼容性等各個方面,使性能、效率大打折扣;一般
= *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); //取本機的主機名
u_short usPort =5555; //端口號
SOCKADDR_IN m_Local_sin;
phe = gethostbyname( cszIPAddr ); //取本機的IP地址。
//如果是其他計算機的IP地址,可以直接在此轉換。
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); //把數據發(fā)送到數據處理中心
closesocket( m_s );
}
用戶自定義函數完成后,需要采用Visuall C++編譯器,在DB2的環(huán)境下編譯、鏈接成可執(zhí)行文件或動態(tài)鏈接庫,拷貝到數據庫自定義函數的文件目錄下,并在DB2數據庫中創(chuàng)建此自定義函數后,才能正常使用。有關過程可參考DB2的開發(fā)參考文獻。
結語:
本文利用數據庫和操作系統(tǒng)的特性,提供了二次開發(fā)的另一種方法,數據的響應速度幾乎與原系統(tǒng)同步。當然,前提是對數據庫的結構比較熟悉。如果系統(tǒng)應用者參與了數據庫的結構設計,或者開發(fā)廠家提供必要的協(xié)助,此方法能讀取數據庫的任何數據,給系統(tǒng)的二次開發(fā)開辟了一條新的捷徑。
作者簡介:
楊君中,工程師,從事電力系統(tǒng)信息化的應用工作,主要研究網絡和信息安全應用技術。電子信箱: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); //取本機的主機名
u_short usPort =5555; //端口號
SOCKADDR_IN m_Local_sin;
phe = gethostbyname( cszIPAddr ); //取本機的IP地址。
//如果是其他計算機的IP地址,可以直接在此轉換。
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); //把數據發(fā)送到數據處理中心
closesocket( m_s );
}
用戶自定義函數完成后,需要采用Visuall C++編譯器,在DB2的環(huán)境下編譯、鏈接成可執(zhí)行文件或動態(tài)鏈接庫,拷貝到數據庫自定義函數的文件目錄下,并在DB2數據庫中創(chuàng)建此自定義函數后,才能正常使用。有關過程可參考DB2的開發(fā)參考文獻。
結語:
本文利用數據庫和操作系統(tǒng)的特性,提供了二次開發(fā)的另一種方法,數據的響應速度幾乎與原系統(tǒng)同步。當然,前提是對數據庫的結構比較熟悉。如果系統(tǒng)應用者參與了數據庫的結構設計,或者開發(fā)廠家提供必要的協(xié)助,此方法能讀取數據庫的任何數據,給系統(tǒng)的二次開發(fā)開辟了一條新的捷徑。
作者簡介:
楊君中,工程師,從事電力系統(tǒng)信息化的應用工作,主要研究網絡和信息安全應用技術。電子信箱:37212000@163.com ,37212000@sohu.com
通訊地址:江蘇省泰州市鳳凰西路2#
郵 編:225300
聯(lián)系電話:0523-6682926
責任編輯:和碩涵
免責聲明:本文僅代表作者個人觀點,與本站無關。其原創(chuàng)性以及文中陳述文字和內容未經本站證實,對本文以及其中全部或者部分內容、文字的真實性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考,并請自行核實相關內容。
我要收藏
個贊
-
現貨模式下谷電用戶價值再評估
2020-10-10電力現貨市場,電力交易,電力用戶 -
PPT | 高校綜合能源服務有哪些解決方案?
2020-10-09綜合能源服務,清潔供熱,多能互補 -
深度文章 | “十三五”以來電力消費增長原因分析及中長期展望
2020-09-27電力需求,用電量,全社會用電量
-
PPT | 高校綜合能源服務有哪些解決方案?
2020-10-09綜合能源服務,清潔供熱,多能互補 -
深度文章 | “十三五”以來電力消費增長原因分析及中長期展望
2020-09-27電力需求,用電量,全社會用電量 -
我國電力改革涉及的電價問題
-
電化學儲能應用現狀及對策研究
2019-08-14電化學儲能應用 -
《能源監(jiān)測與評價》——能源系統(tǒng)工程之預測和規(guī)劃
-
《能源監(jiān)測與評價》——能源系統(tǒng)工程之基本方法
-
貴州職稱論文發(fā)表選擇泛亞,論文發(fā)表有保障
2019-02-20貴州職稱論文發(fā)表 -
《電力設備管理》雜志首屆全國電力工業(yè) 特約專家征文
2019-01-05電力設備管理雜志 -
國內首座蜂窩型集束煤倉管理創(chuàng)新與實踐
-
人力資源和社會保障部:電線電纜制造工國家職業(yè)技能標準
-
人力資源和社會保障部:變壓器互感器制造工國家職業(yè)技能標準
-
《低壓微電網并網一體化裝置技術規(guī)范》T/CEC 150
2019-01-02低壓微電網技術規(guī)范
-
現貨模式下谷電用戶價值再評估
2020-10-10電力現貨市場,電力交易,電力用戶 -
建議收藏 | 中國電價全景圖
2020-09-16電價,全景圖,電力 -
一張圖讀懂我國銷售電價附加
2020-03-05銷售電價附加
-
電氣工程學科排行榜發(fā)布!華北電力大學排名第二
-
國家電網61家單位招聘畢業(yè)生
2019-03-12國家電網招聘畢業(yè)生 -
《電力設備管理》雜志讀者俱樂部會員招募
2018-10-16電力設備管理雜志