2015-05-29 104 views
3

我已经使用Scott Klement的示例代码,使用jtds-1.3.1.jar创建从我们的iSeries(级别V5R2M0)到我们的Azure SQL Server的连接。 Scott的示例RPG ILE程序MSSQLTEST获取的连接值测试失败,因为它始终为空。 Java软件成功加载并显示没有错误。以下是有问题的代码:将iSeries JDBC连接到Microsoft Azure SQL Server

prop = JDBC_Properties(); 

JDBC_setProp(prop: 'userName'  : '[email protected]'); 
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; 

连接参数是由微软提供的为:

jdbc:sqlserver://mssqlserver.database.windows.net:1433;database=Database;[email protected];password={your_password_here};encrypt=true;hostNameInCertificate=*.database.windows.net;loginTimeout=30; 

我曾尝试以下尝试进行连接工作:

增加了端口转发到我们的路由器端口1433指向我们的iSeries IP地址

将我们的外部IP地址添加到我们的Azure SQL Server防火墙

我已经通过创建工作

有谁有iSeries和SQL Azure的服务器之间的这种工作在PC上的ODBC连接到我们的Azure的SQL Server的测试连接参数?

+0

'在端口1433的路由器上添加了一个端口,指向我们的iSeries IP地址'???为什么?你没有在你的iSeries上,是吗? – user2338816

回答

0

我注意到,在Azure门户提供的连接字符串中,用户的关键字是user,而不是userName。一旦我使用JDBC_setprop设置了user的值,它对我有用。