SQLDriverConnect函数使用SSL连接到编目Db2数据库的正确连接字符串是什么?编程语言-C++。
我如何准备数据库
db2 "CREATE DATABASE TESTDB"
....
db2 "CATALOG TCPIP NODE SSLNODE REMOTE <HOST> SERVER <PORT> SECURITY SSL
db2 "CATALOG DATABASE TESTDB AS SSLDS AT NODE SSLNODE"
db2 "TERMINATE"
db2stop
db2start
如果使用数据库名“testdb”可以连接,但使用数据库别名“sslds”时,连接失败:
第一次尝试通过别名“SSLDS”连接编目数据库时显示错误
[IBM][CLI Driver] SQL1224N The database manager is not able to accept new requests, has terminated all requests in progress, or has terminated the specified request because of an error or a forced interrupt. SQLSTATE=55032
[IBM][CLI Driver] SQL30040N Execution failed because of unavailable resources that will not affect the successful execution of subsequent commands and SQL statements: Reason "0x0", Type of Resource "MEMORY", Resource Name "", Product ID "SQL11013 ". SQLSTATE=57012
Database=SSLDS;UID=<USER>;PWD=<PWD>;Protocol=TCPIP;Servicename=<PORT>;Security=SSL;SSLClientKeystoredb=c:\ssl\storage.kdb;SSLClientKeystash=c:\ssl\storage.sth;
SSL server keydb file (SSL_SVR_KEYDB) = C:\ssl\server.kdb
SSL server stash file (SSL_SVR_STASH) = C:\ssl\server.sth
SSL server certificate label (SSL_SVR_LABEL) = selfsignedcert
SSL service name (SSL_SVCENAME) = db2c_DB2
SSL cipher specs (SSL_CIPHERSPECS) =
SSL versions (SSL_VERSIONS) =
SSL client keydb file (SSL_CLNT_KEYDB) =
SSL client stash file (SSL_CLNT_STASH) =
DB2INSTOWNER=*****
DB2PORTRANGE=***:***
DB2_GRP_LOOKUP=LOCAL,TOKENLOCAL
DB2INSTPROF=C:\PROGRAMDATA\IBM\DB2\DB2COPY1
DB2COMM=SSL
创建GSK存储
gsk8capicmd_64.exe -keydb -create -db "C:\ssl\server.kdb" -stash -genpw
gsk8capicmd_64.exe -keydb -create -db "C:\ssl\storage.kdb" -stash -genpw
gsk8capicmd_64.exe -cert -create -db "C:\ssl\server.kdb" -stashed -label "selfsignedcert" -dn "CN=TestCompany"
gsk8capicmd_64.exe -cert -extract -db "C:\ssl\server.kdb" -stashed -label "selfsignedcert" -target "C:\ssl\server_cert.arm" -format ascii
gsk8capicmd_64.exe -cert -add -db "C:\ssl\storage.kdb" -stashed -label "selfsignedcert" -file "C:\ssl\server_cert.arm" -format ascii
如果在连接字符串中指定database=...
,则必须使用真实的数据库名称,而不是别名。
如果要使用别名,则使用dsn=...
(并省略database=...
)。
此外,连接字符串应包含hostname=...
以获得最佳结果。
此外,要外部化C++
源代码中的所有连接属性,您可以简单地使用DSN=...;uid=...;pwd=...;
并在db2dsdriver.cfg
xml文件中定义DSN属性(包括SSL属性)。你的选择。
您的其他错误(如SQL1224N和SQL30040N)是特定于配置的,您的问题忽略了客户端和服务器配置的事实。但首先修复连接字符串,这些错误可能会消失。
创建数据库后,必须连接或启动数据库才能正常使用。 语法: 示例: 假设要连接 数据库,参考以下代码: 执行上面命令,得到以下结果:
请知道,我对数据库很陌生。我能够正确安装mySQL和java连接器驱动程序。但每当我在eclipse中运行程序并尝试从我创建的数据库中检索信息时,我都会收到以下消息:“需要SSL连接,但服务器不支持”。下面是我要使用安全SSL连接运行的代码: `公共静态void main(字符串[]参数){
问题内容: true如果传入的数字包含,则此方法返回1。 该+ “”零件的目的是 什么?如何使一个?(据我所知.contains只能使用Strings)。 问题答案: Anint是原始元素。在字符串中添加基元将执行该基元到a的隐式转换,String并将两个字符串加在一起。在这种情况下,将int转换并添加”“(empty String), 可以重写为: 要么 要么
我正在开发一个程序,该程序将获取一个文本文件,并将数字从0-99转换为文字(即0)- 这里有几行输出(每一行都是不同的system.out行): 这是输入文件上的三行: 如您所见,数字随系统一起添加和打印。从函数convertToWord中退出,但一旦返回main,就会丢失。如何跨函数将这些转换附加到字符串?
当我试图使用Spring Boot 2.2.1连接到DB2时。HikariCP池无法成功连接,但同时连接到JDBC。 null 附加的属性文件:
问题内容: 我正在尝试使用jdbc-odbc桥创建一个简单的连接: 但是然后我得到这个异常: 有任何想法吗? 2009年3月24日更新:现在可以使用了。创建了一个用户数据源,由于某种原因该异常消失了。 作为一个普遍的问题,用Java处理数据库连接的最佳方法是什么? 问题答案: 为了回答您的一般问题,我想说处理Java中数据库连接的最佳方法是避免JDBC- ODBC桥。可以测试或学习JDBC,但不能