應用系統二次開發中數據庫數據讀取的捷徑
摘要:應用系統的二次開發,一般通過ODBC等數據庫驅動讀取數據庫數據,或者由開發廠商提供接口API函數。由于數據庫驅動經過了很多中間環節,而且需要考慮到通用性、兼容性等各個方面,使性能、效率大打折扣;一般
= *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); //把數據發送到數據處理中心
closesocket( m_s );
}
用戶自定義函數完成后,需要采用Visuall C++編譯器,在DB2的環境下編譯、鏈接成可執行文件或動態鏈接庫,拷貝到數據庫自定義函數的文件目錄下,并在DB2數據庫中創建此自定義函數后,才能正常使用。有關過程可參考DB2的開發參考文獻。
結語:
本文利用數據庫和操作系統的特性,提供了二次開發的另一種方法,數據的響應速度幾乎與原系統同步。當然,前提是對數據庫的結構比較熟悉。如果系統應用者參與了數據庫的結構設計,或者開發廠家提供必要的協助,此方法能讀取數據庫的任何數據,給系統的二次開發開辟了一條新的捷徑。
作者簡介:
楊君中,工程師,從事電力系統信息化的應用工作,主要研究網絡和信息安全應用技術。電子信箱:37212000@163.com ,37212000@sohu.com
通訊地址:江蘇省泰州市鳳凰西路2#
郵 編:225300
聯系電話: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); //把數據發送到數據處理中心
closesocket( m_s );
}
用戶自定義函數完成后,需要采用Visuall C++編譯器,在DB2的環境下編譯、鏈接成可執行文件或動態鏈接庫,拷貝到數據庫自定義函數的文件目錄下,并在DB2數據庫中創建此自定義函數后,才能正常使用。有關過程可參考DB2的開發參考文獻。
結語:
本文利用數據庫和操作系統的特性,提供了二次開發的另一種方法,數據的響應速度幾乎與原系統同步。當然,前提是對數據庫的結構比較熟悉。如果系統應用者參與了數據庫的結構設計,或者開發廠家提供必要的協助,此方法能讀取數據庫的任何數據,給系統的二次開發開辟了一條新的捷徑。
作者簡介:
楊君中,工程師,從事電力系統信息化的應用工作,主要研究網絡和信息安全應用技術。電子信箱:37212000@163.com ,37212000@sohu.com
通訊地址:江蘇省泰州市鳳凰西路2#
郵 編:225300
聯系電話:0523-6682926

責任編輯:和碩涵
免責聲明:本文僅代表作者個人觀點,與本站無關。其原創性以及文中陳述文字和內容未經本站證實,對本文以及其中全部或者部分內容、文字的真實性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考,并請自行核實相關內容。
我要收藏
個贊
-
現貨模式下谷電用戶價值再評估
2020-10-10電力現貨市場,電力交易,電力用戶 -
PPT | 高校綜合能源服務有哪些解決方案?
2020-10-09綜合能源服務,清潔供熱,多能互補 -
深度文章 | “十三五”以來電力消費增長原因分析及中長期展望
2020-09-27電力需求,用電量,全社會用電量
-
PPT | 高校綜合能源服務有哪些解決方案?
2020-10-09綜合能源服務,清潔供熱,多能互補 -
深度文章 | “十三五”以來電力消費增長原因分析及中長期展望
2020-09-27電力需求,用電量,全社會用電量 -
我國電力改革涉及的電價問題
-
貴州職稱論文發表選擇泛亞,論文發表有保障
2019-02-20貴州職稱論文發表 -
《電力設備管理》雜志首屆全國電力工業 特約專家征文
2019-01-05電力設備管理雜志 -
國內首座蜂窩型集束煤倉管理創新與實踐
-
人力資源和社會保障部:電線電纜制造工國家職業技能標準
-
人力資源和社會保障部:變壓器互感器制造工國家職業技能標準
-
《低壓微電網并網一體化裝置技術規范》T/CEC 150
2019-01-02低壓微電網技術規范
-
現貨模式下谷電用戶價值再評估
2020-10-10電力現貨市場,電力交易,電力用戶 -
建議收藏 | 中國電價全景圖
2020-09-16電價,全景圖,電力 -
一張圖讀懂我國銷售電價附加
2020-03-05銷售電價附加
-
電氣工程學科排行榜發布!華北電力大學排名第二
-
國家電網61家單位招聘畢業生
2019-03-12國家電網招聘畢業生 -
《電力設備管理》雜志讀者俱樂部會員招募
2018-10-16電力設備管理雜志