VS 2019使用cmake MySQL Connector/C++ 8 OCCI连接MySQL Oracle数据库

之前有发过一篇文章,是用vs2019+MySQL Connector/C++ 8,连接mysql5.7。

vs 2019 c++ MySQL Connector/C++ 8 连接MySQL 5.7

此篇介绍vs 2019、msvc 14、cmake、MySQL Connector/C++ 8、OCCI连接MySQL,Oracle,话不多讲,直接正题。

1、下载oracle的occi库下,

Oracle Instant Client Downloads for Microsoft Windows (x64) 64-bit

链接地址如下:

https://www.oracle.com/database/technologies/instant-client/winx64-64-downloads.html

由于系统windows 64,msvc14 ,我选择是上版本,下载,解压。

2、下载mysql的 MySQL Connector/C++ 8,连接地址

MySQL Community Downloads

链接地址如下:

https://dev.mysql.com/downloads/connector/cpp/

由于系统windows 64,msvc14 ,我选择是上版本,下载,解压。

3、在CMakeLists.txt中引用OCCI,这里我直接粘进来cmake加载的一部分,由于我没有采用包管理,这里直接指向了oraocci19.lib,感觉搞法有点低级。

# CMakeList.txt: 顶层 CMake 项目文件,在此处执行全局配置
# 并包含子项目。
#
cmake_minimum_required (VERSION 3.8)

project ("dllOracle")

include_directories (include)
aux_source_directory (src SRC_DLLORACLE)

set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib")
add_library(dllOracle STATIC ${SRC_DLLORACLE})

# dllOracle库项目中加入Oracle三方库的引用
set(ORACLE_HOME "E:C++OCCIinstantclient_19_8sdk")
include_directories(${ORACLE_HOME}include)
target_link_libraries (dllOracle ${ORACLE_HOME}libmsvcvc14oraocci19.lib)

4、在CMakeLists.txt中引用MySQL Connector/C++ 8,同理三方库也直接批到了具体的文件名。同样是低级的搞法。哪位大侠有专业的写法,还请指教。

# CMakeList.txt: 顶层 CMake 项目文件,在此处执行全局配置
# 并包含子项目。
#
cmake_minimum_required (VERSION 3.8)

project ("dllMySQL")

include_directories (include)
aux_source_directory (src SRC_DLLMYSQL)

set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib")
add_library(dllMySQL STATIC ${SRC_DLLMYSQL})

# dllMySQL项目中加入mysql三方库的引用
set(MYSQL_HOME "E:C++mysql-connector-c++mysql-connector-c++-8.0.30-winx64")
include_directories(${MYSQL_HOME}include)
target_link_libraries (dllMySQL ${MYSQL_HOME}lib64vs14mysqlcppconn.lib)

5、连接Oracle,这里只上一个头文件,具体CPP就不粘了。

#pragma once
#include
#include 
using namespace oracle::occi;

class MyOracleDB
{
public:
    MyOracleDB();
    ~MyOracleDB();
    int initDB();
    int exeSQL(std::string sql);
    int exeSQL2(std::string sql);

private:
    Environment* env;
    Connection* conn;
    Statement* pStmt;
};

6、连接MySQL

#pragma once
#include 
#include 

class MySqlDB
{
public:
    MySqlDB();
    ~MySqlDB();
    int initDB();
    int exeSQL(std::string sql);

private:
    sql::Driver* driver;
    sql::Connection* conn;
    sql::Statement* stmt;
    sql::ResultSet* res;
};


7、测试Oracle,MySQL这里就直接上两个图片。




8、上面cmake的安装,工程创建生成,编译,OracleOCCI解压,环境变量,MySQL Connector/C++ 8的准备,都没有讲,网上一片一片。希望不会误人子第,少走弯路。也希望大侠们指教。

展开阅读全文

页面更新:2024-04-29

标签:走弯路   正题   低级   全局   版本   地址   链接   数据库   文件   项目   系统

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top