2016-09-02 15 views
0

JavaアプリケーションでAzureホストのSQLデータベースにアクセスしようとしています。私はnmapのを使用してポート1433をチェックし、それは、それが閉じていていることを示していますMacのAzure SQLデータベースでポート1433を開くことができません

Starting Nmap 7.12 (https://nmap.org) at 2016-09-02 09:44 PHT 
Nmap scan report for localhost (127.0.0.1) 
Host is up (0.00014s latency). 
Other addresses for localhost (not scanned): ::1 
PORT  STATE SERVICE 
1433/tcp closed ms-sql-s 

私は/etc/pf.confを編集していると私のMacを再起動しますがポートがまだ閉じられています。以下は私のpf.confです:

scrub-anchor "com.apple/*" 
nat-anchor "com.apple/*" 
rdr-anchor "com.apple/*" 
dummynet-anchor "com.apple/*" 
anchor "com.apple/*" 
load anchor "com.apple" from "/etc/pf.anchors/com.apple" 
pass in proto tcp from any to any port 1433 

また、私のファイアウォールはオフに設定されています。

私のjavaアプリはこのエラーを投げている

Error starting database: The TCP/IP connection to the host flowengine7.database.windows.net, port 1433 has failed. Error: "Connection timed out: no further information. Verify the connection properties. Make sure that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port. Make sure that TCP connections to the port are not blocked by a firewall.". 

Javaコード:

String connectionString = 
       "jdbc:sqlserver://dbName.database.windows.net:1433;database=dbName;[email protected]@user;password=passwordhere;encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;loginTimeout=30;"; 

     Connection connection = null; 

     try { 
      connection = DriverManager.getConnection(connectionString); 
      println 'connected'; 
     } 
     catch (Exception e) { 
      e.printStackTrace(); 
     } 
     finally { 
      if (connection != null) try { 
       connection.close(); 
      } catch (Exception e) { 
      } 
     } 
+0

質問を編集して、SQLデータベースサービスとの接続に使用している実際のJavaコードを表示することをお勧めします。また、あなたのIPアドレスをSQLデータベースサーバのIPリストに追加しましたか? –

+0

私のJavaコードを追加しました。私は既にホワイトリストに自分のipを追加しました。 – danieljohngomez

答えて

1

をファイアウォール AzureのSQL サーバーレベルを見下ろすしている:
https://azure.microsoft.com/en-us/documentation/articles/sql-database-configure-firewall-settings/

firewall-entry

ローカルから接続できるようにするには、MacのパブリックIPアドレスをそこに入れる必要があります。デフォルトでは、Azureサービスは、Azure SQLインスタンス上で1433/TCPに達することができます(Azure Servicesへのアクセスを許可するAzure SQLファイアウォールのの設定)。

DSL /ケーブル/ファイバモデムを再起動するたびに新しいパブリックIPアドレスを取得する場合は、アドレス範囲全体を定義する必要があります(すなわち、174.73.0.0 - 174.73.255.255対リスティング174.73.16.180)。うまくいけば、あなたはいつも同じ範囲のIPアドレスをつかむでしょう。

+0

私のパブリックIPはすでに追加されていますが、同じエラーが発生しています – danieljohngomez

+0

'nmap'はあなたにポートが__closed__を伝えているので、パブリックIPアドレスを確認し、ファイアウォール/ルータ/アウトバウンドでフィルタリングされていないことを確認してください。 – evilSnobu

関連する問題