注册

Windows平台dmoci.lib文件缺少,寻求解决方案

icarus 2024/10/22 328 2

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:DM8
【操作系统】:Windows11
【CPU】:inter-12500H
【问题描述】*:
我目的是在Windows平台不依赖QT等第三方库进行ODBC数据库操作的C++动态库的开发。在Windows11平台,编译使用ODBC接口访问达梦数据库的时候,无法链接dmoci.lib文件导致无法编译通过,有合适的解决方案吗,我的源代码是:
#include <windows.h>
#include <sql.h>
#include <sqlext.h>
#include <iostream>

void ConnectToDMDB() {
SQLHENV henv;
SQLHDBC hdbc;
SQLRETURN ret;

// 初始化 ODBC 环境
SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv);
SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (SQLPOINTER)SQL_OV_ODBC3, 0);

// 分配连接句柄
SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc);

// 连接到达梦数据库
const char* dsn = "localhost"; // 数据源名称
const char* user = "SYSDBA"; // 用户名
const char* password = "admin123456"; // 密码

// 使用 SQLDriverConnect 连接
ret = SQLDriverConnect(
hdbc,
NULL,
(SQLWCHAR*)dsn,
SQL_NTS,
NULL,
0,
NULL,
SQL_DRIVER_COMPLETE);

if (ret == SQL_SUCCESS || ret == SQL_SUCCESS_WITH_INFO) {
std::cout << "Connected to DM Database successfully!" << std::endl;

}
else {
std::cerr << "Error connecting to DM Database!" << std::endl;
}

// 清理资源
SQLDisconnect(hdbc);
SQLFreeHandle(SQL_HANDLE_DBC, hdbc);
SQLFreeHandle(SQL_HANDLE_ENV, henv);
}

int main() {
ConnectToDMDB();
return 0;
}

回答 0
暂无回答
扫一扫
联系客服