混合编程--fortran调用C++采用ODBC形式连接MYSQL数据库
来源:互联网 发布:asap2020软件 64bit 编辑:程序博客网 时间:2024/06/05 15:10
前言
最近项目中用到了fortran语言,需要与数据库连接,将fortran程序计算的结果存入数据库以便后期需要,在调研的时候有两种方法:1,利用fortran系列的f90sql连接数据库;2,采用混合编程,就是采用某种语言与数据库连接,再用fortran调用接口函数,进入视线的有python,c++,c;最后采用第二种方案,采用fortran + C++的形式;理由如下:
1.本渣对fortran不熟悉,且f90sql在网上资料比较少,应该不是很好弄;
2.我们项目组的fortran程序运行环境是vs2010+ivf,所有采用第二种方法,一样的IDE应该会好弄一点;
fortran调用C++函数
由于我们的fortran与C++运行环境IDE都是vs2010,那就省了很多事了,直接参考链接[link text]https://wenku.baidu.com/view/d5a96a3911661ed9ad51f01dc281e53a580251c7.html主要是设置单解决方案多项目,设置项目依赖项,设置多线程调试等,实现简单的fortran调用C++中的sub函数,注意设置你的操作系统的位数与当前项目平台位数是否符合;
C++连接数据库
原来做项目都是用java的类似mybatis的框架直接连,这就很舒服,但是这次用c++就很难受,用c++的方法连接数据库有两种方式:
1.利用mysql的API连接数据库;
2.利用ODBC数据源连接;
两种方法在网上都有很多方法可自行度娘,第一种方法不知怎么的在我的电脑上运行不了,代码都是网上已经验证过的代码在我的电脑上运行之后就有0xc000007b无法正常启动错误,我也照着网上的方法找了一些东西,修复之后还是没有解决,一气之下放弃这种方法,第二种是利用ODBC数据源方式,如何配置ODBC数据源请参考[link text](http://jingyan.baidu.com/article/5553fa82e783d965a23934e7.html)关于连接代码可以参考[link text](http://blog.csdn.net/lbcab/article/details/51329207)这篇博客的优点是面向对象式编程,增删查该的代码都有,可以作为参考;最坑的是:我建立了64bit的ODBC数据源(因为我的mysql以及我的操作系统都是64bit的),连接的时候告诉我找不到数据源,后来看到网上的帖子讲要配置32bit的ODBC,我就下载了32bit的MYSQL Connector,后来就连上了;至今没有搞懂为什么??如果你也连不上,那就试试32bit的odbc吧。
实现调用代码:
//使用封装类的方式对数据库进行操作,可以实现执行sql语句//直接连接数据库,可以使用,_ConnectionPtr m_pConnection;// 初始化COM,创建ADO连接等操作CoInitialize(NULL); m_pConnection.CreateInstance(__uuidof(Connection)); try { //设置连接时间 m_pConnection->ConnectionTimeout = 5; } catch(_com_error &e) { MessageBox(NULL, e.Description(), _T(""), MB_OK); } //使用封装类的方式对数据库进行操作,可以实现执行sql语句//OpenDatabase()的前提条件是m_pConnection不为空CDataOperator data;if(data.OpenDatabase("3dvisualization_test","root","123456")){ cout<<"CONNECT OK"<<endl;}else{ cout<<"connect error"<<endl;}bool flag = data.ExecuteSQL("INSERT INTO experiment VALUES (26, 'Bill', 23, 33,43)");if(flag){ std::cout<<"插入成功"<<std::endl;}else{ std::cout<<"插入失败"<<std::endl; }system("pause");
调用运行之后就可以显示插入成功了;
写在最后
最后就是将两块的东西整合到一个方面,尽量做到代码的服用,实现面向对象的编程,已提高效率;这只是一个demo,后来如果遇到什么问题,再来更新。。。就这样吧!
- 混合编程--fortran调用C++采用ODBC形式连接MYSQL数据库
- Fortran与C混合编程,C调用Fortran函数,Fortran再回调C中的函数
- 【混合编程实例】C/C++调用FORTRAN编写的DLL
- FORTRAN/C/C++混合编程
- C API 通过ODBC 连接数据库MYSQL
- C API 通过ODBC 连接数据库MYSQL
- Fortran与C的混合编程
- windows下intel C/Fortran 混合编程
- windows下intel C/Fortran 混合编程
- FORTRAN/C/C++混合编程注意事项
- vs2008下MFC中采用ado连接MySQL(ODBC、非ODBC或C API方式)
- vs2008下MFC中采用ado连接MySQL(ODBC、非ODBC或C API方式)
- vs2008下MFC中采用ado连接MySQL(ODBC、非ODBC或C API方式)
- vs2008下MFC中采用ado连接MySQL(ODBC、非ODBC或C API方式)
- C++ODBC连接数据库
- C++ODBC连接数据库
- C#ODBC连接MYSQL
- Fortran C++混合编程
- 实现自己的仿真小车移动
- Android文本输入框EditText属性和方法说明
- 软考学习-二进制转化
- c++ primer第10章
- Spring知识整理【二】Spring 环境搭建
- 混合编程--fortran调用C++采用ODBC形式连接MYSQL数据库
- GCD and LCM HDU
- pip install 出现报asciii码错误的问题
- ARP协议详解
- 【已解决】R语言添加行、列,转置操作
- rtos开发总结
- LeetCode #79
- 订餐系统总结
- HTTP Status 404错误分析及解决方法