我使用了Scott Klement的示例代码,使用jtds-1.3.1.jar从我们的iSeries(版本V5R2M0)连接到我们的Azure SQL Server。 Scott的示例RPG ILE程序MSSQLTEST成功加载Java软件并没有显示任何错误,但是在连接值测试时失败,因为它始终为空值。以下是相关的代码:
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上创建一个ODBC连接到我们的Azure SQL Server来测试连接参数,这个方法是有效的
有人能让iSeries和Azure SQL Server之间的连接正常工作吗?