应用系统二次开发中数据库数据读取的捷径
摘要:应用系统的二次开发,一般通过ODBC等数据库驱动读取数据库数据,或者由开发厂商提供接口API函数。由于数据库驱动经过了很多中间环节,而且需要考虑到通用性、兼容性等各个方面,使性能、效率大打折扣;一般
在数据处理中心创建共享内存:
HANDLE m_hMapObject; //共享内存句柄
extern LPVOID lpvMem=NULL; //共享内存地址
#define SHMEMSIZE sizeof(Datastru) //共享内存空间
m_hMapObject = CreateFileMapping((HANDLE)0xFFFFFFFF,
NULL,
PAGE_READWRITE,
0,
SHMEMSIZE,
“Share_Mem”);
if (m_hMapObject==NULL) return FALSE;//创建共享内存失败
BOOL fInit = (GetLastError()!=ERROR_ALREADY_EXISTS);
lpvMem = MapViewOfFile(m_hMapObject, FILE_MAP_ALL_ACCESS, 0, 0, SHMEMSIZE));
if (lpvMem==NULL) return FALSE;
if (fInit) memset(lpvMem, 0, SHMEMSIZE); //初始化共享内存
return TRUE;
2、编写数据库用户自定义函数,往共享内存写数据:
void SQL_API_FN get _data (
SQLUDF_CHAR Station_name [36] ,
SQLUDF_CHAR Line_name [36] ,
SQLUDF_INTEGER *Line_Size ,
SQLUDF_INTEGER *Voltage_Grade,
SQLUDF_CHAR Manager [36],
SQLUDF_ DOUBLE *Voltage _value,
SQLUDF_ DOUBLE *Electricity,)
{
Datastru *data ;
HANDLE m_hMapObject; //共享内存句柄
LPVOID lpvMem=NULL; //共享内存地址
#define SHMEMSIZE sizeof(Datastru) //共享内存空间
m_hMapObject = CreateFileMapping((HANDLE)0xFFFFFFFF,
HANDLE m_hMapObject; //共享内存句柄
extern LPVOID lpvMem=NULL; //共享内存地址
#define SHMEMSIZE sizeof(Datastru) //共享内存空间
m_hMapObject = CreateFileMapping((HANDLE)0xFFFFFFFF,
NULL,
PAGE_READWRITE,
0,
SHMEMSIZE,
“Share_Mem”);
if (m_hMapObject==NULL) return FALSE;//创建共享内存失败
BOOL fInit = (GetLastError()!=ERROR_ALREADY_EXISTS);
lpvMem = MapViewOfFile(m_hMapObject, FILE_MAP_ALL_ACCESS, 0, 0, SHMEMSIZE));
if (lpvMem==NULL) return FALSE;
if (fInit) memset(lpvMem, 0, SHMEMSIZE); //初始化共享内存
return TRUE;
2、编写数据库用户自定义函数,往共享内存写数据:
void SQL_API_FN get _data (
SQLUDF_CHAR Station_name [36] ,
SQLUDF_CHAR Line_name [36] ,
SQLUDF_INTEGER *Line_Size ,
SQLUDF_INTEGER *Voltage_Grade,
SQLUDF_CHAR Manager [36],
SQLUDF_ DOUBLE *Voltage _value,
SQLUDF_ DOUBLE *Electricity,)
{
Datastru *data ;
HANDLE m_hMapObject; //共享内存句柄
LPVOID lpvMem=NULL; //共享内存地址
#define SHMEMSIZE sizeof(Datastru) //共享内存空间
m_hMapObject = CreateFileMapping((HANDLE)0xFFFFFFFF,
责任编辑:和硕涵
免责声明:本文仅代表作者个人观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
我要收藏
个赞
-
现货模式下谷电用户价值再评估
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电力设备管理杂志