应用系统二次开发中数据库数据读取的捷径
摘要:应用系统的二次开发,一般通过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电力设备管理杂志