2015-05-29 193 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的值,它對我有用。