【发布时间】:2016-07-07 15:15:16
【问题描述】:
连接 Azure 数据库时出错
2016 年 7 月 7 日晚上 8:42:32 com.microsoft.sqlserver.jdbc.TDSChannel enableSSL
信息:java.security 路径:C:\Program Files\Java\jdk1.8.0_60\jre\lib\security
安全提供商:[SUN 1.8 版、SunRsaSign 1.8 版、SunEC 1.8 版、SunJSSE 1.8 版、SunJCE 1.8 版、SunJGSS 1.8 版、SunSASL 1.8 版、XMLDSig 1.8 版、SunPCSC 1.8 版、SunMSCAPI 1.8 版]
SSLContext 提供者信息:Sun JSSE 提供者(PKCS12、SunX509/PKIX 密钥/信任工厂、SSLv3/TLSv1/TLSv1.1/TLSv1.2)
SSLContext 提供者服务:
[SunJSSE: KeyFactory.RSA -> sun.security.rsa.RSAKeyFactory
别名:[1.2.840.113549.1.1,OID.1.2.840.113549.1.1]
, SunJSSE: KeyPairGenerator.RSA -> sun.security.rsa.RSAKeyPairGenerator
别名:[1.2.840.113549.1.1,OID.1.2.840.113549.1.1]
, SunJSSE: Signature.MD2withRSA -> sun.security.rsa.RSASignature$MD2withRSA
别名:[1.2.840.113549.1.1.2,OID.1.2.840.113549.1.1.2]
, SunJSSE: Signature.MD5withRSA -> sun.security.rsa.RSASignature$MD5withRSA
别名:[1.2.840.113549.1.1.4,OID.1.2.840.113549.1.1.4]
, SunJSSE: Signature.SHA1withRSA -> sun.security.rsa.RSASignature$SHA1withRSA
别名:[1.2.840.113549.1.1.5, OID.1.2.840.113549.1.1.5, 1.3.14.3.2.29, OID.1.3.14.3.2.29]
, SunJSSE: Signature.MD5andSHA1withRSA -> sun.security.ssl.RSASignature
, SunJSSE: KeyManagerFactory.SunX509 -> sun.security.ssl.KeyManagerFactoryImpl$SunX509
, SunJSSE: KeyManagerFactory.NewSunX509 -> sun.security.ssl.KeyManagerFactoryImpl$X509
别名:[PKIX]
, SunJSSE: TrustManagerFactory.SunX509 -> sun.security.ssl.TrustManagerFactoryImpl$SimpleFactory
, SunJSSE: TrustManagerFactory.PKIX -> sun.security.ssl.TrustManagerFactoryImpl$PKIXFactory
别名:[SunPKIX, X509, X.509]
, SunJSSE: SSLContext.TLSv1 -> sun.security.ssl.SSLContextImpl$TLS10Context
别名:[SSLv3]
, SunJSSE: SSLContext.TLSv1.1 -> sun.security.ssl.SSLContextImpl$TLS11Context
, SunJSSE: SSLContext.TLSv1.2 -> sun.security.ssl.SSLContextImpl$TLS12Context
, SunJSSE: SSLContext.TLS -> sun.security.ssl.SSLContextImpl$TLSContext
别名:[SSL]
, SunJSSE: SSLContext.Default -> sun.security.ssl.SSLContextImpl$DefaultSSLContext
, SunJSSE: KeyStore.PKCS12 -> sun.security.pkcs12.PKCS12KeyStore
]
java.ext.dirs: C:\Program Files\Java\jdk1.8.0_60\jre\lib\ext;C:\WINDOWS\Sun\Java\lib\ext
使用的示例代码
package UtilityCreateSensorData;
// Use the JDBC driver
import java.sql.*;
import com.microsoft.sqlserver.jdbc.*;
public class SQLDatabaseConnection {
// Connect to your database.
// Replace server name, username, and password with your credentials
public void InsertData(String Value1,String Value2,String Value3,int Value4) {
String connectionString ="jdbc:sqlserver://test.database.windows.net:1433;database=test;user=TestUsername;password=TestPassword";
// Declare the JDBC objects.
Connection connection = null;
Statement statement = null;
ResultSet resultSet = null;
PreparedStatement prepsInsertProduct = null;
try {
connection = DriverManager.getConnection(connectionString);
// Create and execute an INSERT SQL prepared statement.
String insertSql = "INSERT INTO [dbo].[tblAutomationTest] (DESC,MessageStart,MessageEnd,SenseCount) VALUES " + "(Value1, Value2, Value3, Value4);";
prepsInsertProduct = connection.prepareStatement(insertSql, Statement.RETURN_GENERATED_KEYS);
prepsInsertProduct.execute();
// Retrieve the generated key from the insert.
resultSet = prepsInsertProduct.getGeneratedKeys();
// Print the ID of the inserted row.
while (resultSet.next()) { System.out.println("Generated: " + resultSet.getString(1));
}
}
catch (Exception e) {
e.printStackTrace();
}
finally {
if (connection != null) try { connection.close(); } catch(Exception e) {}
// Close the connections after the data has been handled.
if (prepsInsertProduct != null) try { prepsInsertProduct.close(); } catch(Exception e) {}
if (resultSet != null) try { resultSet.close(); } catch(Exception e) {}
if (statement != null) try { statement.close(); } catch(Exception e) {}
}
}
}
【问题讨论】:
-
您好,只是异常信息。您能否发布更多详细信息,包括您的代码、环境和任何有用的信息?请参阅stackoverflow.com/help/mcve 进行改进。还有一个用Java连接SQL Azure的示例代码msdn.microsoft.com/library/mt720656.aspx。有任何问题或更新,请随时告诉我。
-
添加完整代码