Java 将iSeries JDBC连接到Microsoft Azure SQL Server
我使用Scott Klement的示例代码创建了一个从iSeries(V5R2M0级别)到Azure SQL Server的连接,该连接使用jtds-1.3.1.jar。Scott的示例RPG ILE程序MSSQLSTEST与连接值测试一样失败,因为它总是空的。Java软件已成功加载且未显示任何错误。有关守则如下:Java 将iSeries JDBC连接到Microsoft Azure SQL Server,java,sql,azure,jdbc,ibm-midrange,Java,Sql,Azure,Jdbc,Ibm Midrange,我使用Scott Klement的示例代码创建了一个从iSeries(V5R2M0级别)到Azure SQL Server的连接,该连接使用jtds-1.3.1.jar。Scott的示例RPG ILE程序MSSQLSTEST与连接值测试一样失败,因为它总是空的。Java软件已成功加载且未显示任何错误。有关守则如下: prop = JDBC_Properties(); JDBC_setProp(prop: 'userName' : 'dbadmin@mssqlserver'); JDBC
prop = JDBC_Properties();
JDBC_setProp(prop: 'userName' : 'dbadmin@mssqlserver');
JDBC_setProp(prop: 'password' : 'password');
JDBC_setProp(prop: 'databaseName' : 'SQLDatabase');
JDBC_setProp(prop: 'encrypt' : 'true');
JDBC_setProp(prop: 'hostNameInCertificate' : '*.database.windows.net');
JDBC_setProp(prop: 'loginTimeout' : '30');
conn = JDBC_ConnProp('net.sourceforge.jtds.jdbc.Driver'
:'jdbc:jtds:sqlserver://mssqlserver.database.windows.net:1433'
: prop );
JDBC_freeProp(prop);
if (conn = *NULL);
return;
endif;
Microsoft提供的连接参数如下:
jdbc:sqlserver://mssqlserver.database.windows.net:1433;database=Database;user=dbadmin@mssqlserver;password={your_password_here};encrypt=true;hostNameInCertificate=*.database.windows.net;loginTimeout=30;
我尝试了以下方法,以使连接正常工作:
在路由器上为端口1433添加了一个端口转发,该端口指向iSeries IP地址
已将外部IP地址添加到Azure SQL Server防火墙
我通过在一台工作正常的PC上创建到Azure SQL Server的ODBC连接来测试连接参数
是否有人在iSeries和Azure SQL Server之间使用此功能?我没有使用JTD,但根据我的经验,Microsoft建议我们使用SQL Server JDBC(sqljdbc.jar或sqljdbc4.jar)从Java连接到Azure SQL数据库。您可以参考以获取示例,您可能希望查看如何利用此驱动程序 我注意到,在Azure门户提供的连接字符串中,user的关键字是
user
,而不是userName
。一旦我使用JDBC_setprop
设置了user
的值,它就对我起了作用。在路由器上为端口1433添加了一个端口转发,该端口指向我们的iSeries IP地址???为什么?你的iSeries上没有,是吗?