Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何使用Qt配置Oracle客户端?_C++_Oracle_Qt - Fatal编程技术网

C++ 如何使用Qt配置Oracle客户端?

C++ 如何使用Qt配置Oracle客户端?,c++,oracle,qt,C++,Oracle,Qt,我正在尝试连接到Qt应用程序中的Oracle数据库。我刚刚创建了一个如下的示例代码,以首先测试数据库连接 #include <QCoreApplication> #include <QtSql/QSqlDatabase> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); QSqlDatabase db = QSqlDatabase::addDatabase("Q

我正在尝试连接到Qt应用程序中的Oracle数据库。我刚刚创建了一个如下的示例代码,以首先测试数据库连接

#include <QCoreApplication>
#include <QtSql/QSqlDatabase>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    QSqlDatabase db = QSqlDatabase::addDatabase("QOCI");
    db.setHostName("192.168.1.11");
    db.setDatabaseName("dm1db");
    db.setUserName("user");
    db.setPassword("user123");
    bool ok = db.open();
}
这发生在两天前,我知道QOCI在我的QtCreator安装中没有启用。因此,我试图通过遵循Qt的以下指导来启用它

我有一个Oracle 12.1.0.2客户端。这些文件是(/home/santhosh/instantclient\u 12\u 1):

包括文件(/home/santhosh/instantclient\u 12\u 1/sdk/Include):

Oracle 12.1.0.2客户端仅包含libclntsh.so.12.1文件。因此,我在同一目录中创建了一个指向该文件的符号链接libclntsh.So,以支持根据Qt文档进行的命名转换

我根据Qt文档尝试了这个命令以启用OCI驱动程序

./configure -sql-oci OCI_INCDIR=/home/santhosh/instantclient_12_1/sdk/include OCI_LIBDIR=/home/santhosh/instantclient_12_1
但当它结束时,会给我一个错误,比如:

ERROR: Feature 'sql-oci' was enabled, but the pre-condition 'libs.oci' failed.
我在config.log文件中发现了这个错误

    loaded result for library config.qtbase_sqldrivers.libraries.oci
Trying source 0 (type inline) of library oci ...
  => source failed condition 'config.win32'.
Trying source 1 (type inline) of library oci ...
oci.h not found in [] and global paths.
  => source produced no result.
test config.qtbase_sqldrivers.libraries.oci FAILED
在过去的两天里,我尝试了一些其他不同的方法,参考了一些关于在Qt中启用oci的文档。但对我来说什么都不管用。Qt文档不清楚如何在最新的客户机(如上面的客户机)中进行oracle.so文件的命名转换。 我正在使用:


有谁能告诉我配置Qt Creator以使用Oracle数据库时应该遵循的具体步骤吗?

我想添加以下几个其他详细信息:1。我在上面的问题中提到的Oracle客户端实际上可以完美地用于所有其他应用程序,如PyCharm(用于PyQt5)。2.Oracle客户端也是仅64位二进制的。我想添加一些其他细节,如以下:1。我在上面的问题中提到的Oracle客户端实际上可以完美地用于所有其他应用程序,如PyCharm(用于PyQt5)。2.Oracle客户端也是仅64位二进制文件。
    loaded result for library config.qtbase_sqldrivers.libraries.oci
Trying source 0 (type inline) of library oci ...
  => source failed condition 'config.win32'.
Trying source 1 (type inline) of library oci ...
oci.h not found in [] and global paths.
  => source produced no result.
test config.qtbase_sqldrivers.libraries.oci FAILED