Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.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
如何使用Qt-QODBC启用SSL_Qt_Ssl_Odbc - Fatal编程技术网

如何使用Qt-QODBC启用SSL

如何使用Qt-QODBC启用SSL,qt,ssl,odbc,Qt,Ssl,Odbc,我找不到这方面的信息。是否可以使用QODBC启用SSL?如果是,怎么做 我在QMySql中使用SSL或在QODBC中使用非SSL连接时没有问题。 但是,的QODBC驱动程序文档中没有提到SSL+ODBC,并且QODBC拒绝了不在列表中的参数,这些参数都与SSL无关 有趣的是,我在任何地方都找不到关于这些选项、其含义或其允许值的文档。我能找到的关于这些选项的唯一提及是在文档页面上,该页面没有说明它是否是一个全面的列表,也没有提供任何进一步的信息 我能找到的关于在QODBC中使用SSL的唯一其他直接

我找不到这方面的信息。是否可以使用QODBC启用SSL?如果是,怎么做

我在QMySql中使用SSL或在QODBC中使用非SSL连接时没有问题。 但是,的QODBC驱动程序文档中没有提到SSL+ODBC,并且QODBC拒绝了不在列表中的参数,这些参数都与SSL无关

有趣的是,我在任何地方都找不到关于这些选项、其含义或其允许值的文档。我能找到的关于这些选项的唯一提及是在文档页面上,该页面没有说明它是否是一个全面的列表,也没有提供任何进一步的信息

我能找到的关于在QODBC中使用SSL的唯一其他直接参考是四年前的一篇未回复的帖子:

QODBC也是Quickbooks的一个显然不相关的ODBC产品的名称,这一事实进一步加剧了对该信息的查找


这是我在

发表的文章的副本,您需要将安全连接选项作为ODBC数据源的一部分传递给。ODBC数据源应类似于:

Driver={MySQL ODBC 5.1 Driver};Server=server_address;Database=database;
User=username;Password=password;
sslca=ca.crt;sslcert=client.crt;sslkey=client.key;sslverify=1;

我没有检查这个确切的字符串,只是显示想法(取自)。有关详细信息,请参阅。

将连接字符串语法放入QSqlDatabase对象的数据库名称字段中是可行的。有些参数(即SSL参数)必须通过数据库名称字段中的连接字符串语法手动指定,有些参数具有内置的setter(
QSqlDatabase::setUserName()
etc),这似乎是一种解决方法或事故。其他QtSQL驱动程序(QMYSQL等)不需要SSL的任意连接字符串语法。AFAICT此机制不在QODBC文档中。ODBC是一个通用接口,最好使用Qt提供的特定于DB的驱动程序,除非它们缺少一些必需的功能。Qt说:
请注意,当连接到ODBC数据源时,必须将ODBC数据源的名称传递给QSqlDatabase::setDatabaseName()函数,而不是实际的数据库名称。
我看到了,但它指的是数据源的名称,例如在Windows数据源管理器中,它可以由连接字符串表示,但与连接字符串不同。除非我不正确,并且连接字符串由“ODBC数据源名称”暗示,或者ODBC数据源名称及其对应的连接字符串已知是可互换的,否则文档中不会提及这一点。