我正在尝试用android studio连接到我的Azure sql云数据库。运行代码时,我遇到了以下错误:“由于客户端TLS版本低于服务器允许的最低TLS版本,登录失败。”我已经尝试将azure的lts设置为1.0版本。
公共类MainActivity扩展AppCompatActivity {
public static final String url = "jdbc:jtds:sqlserver://***.database.windows.net:1433;DatabaseName=***;user=***;password=***;encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;loginTimeout=30;";
public static final String name = "net.sourceforge.jtds.jdbc.Driver";
public static Connection conn = null;
public static PreparedStatement pst = null;
public static Statement stmt = null;
public static ResultSet rs = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
final Button button = findViewById(R.id.button1);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
try {
String SQL = "select * from dbo.Person";
Class.forName(name);
conn = DriverManager.getConnection(url);
stmt = conn.createStatement();
rs = stmt.executeQuery(SQL);
while (rs.next()) {
System.out.println(rs.getString("FirstName"));
}
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
}
发生此错误是由于Azure End上数据库和连接的防火墙中的TLS版本设置不匹配,如图所示:
以下屏幕截图是错误配置的示例:
Azure 被要求使用大于 TLS 1.2 的 TLS 版本,但是,连接完全使用 TLS1.2。
这将导致不匹配。
a)防火墙(选择的版本大于TLS 1.2):
b)连接(在选择为TLS1.2的连接级别,与上述设置不匹配):
因此,如果您在连接级别选择TLS1.2,Azure上的设置应该选择为高于TLS 1.1(即
要解决此问题,请确保选择兼容的TLS版本,以确保安全代理可以成功连接到数据库。
此外,确保为此连接选择的加密方法是SSL或任何其他基于SSL的选项。
这是因为如果加密方法设置为“无”,则在运行时不会对任务应用TLS设置,从而导致任务在运行时失败,并显示相同的错误消息。
Oracle JKD 8和IBM JRE 7(出于测试目的,我为它们各配置了一个客户机) com.ibm.mq.allclient-9.1.0.0.jar javax.jms-api-2.0.1.jarspring-jms-4.3.7.release.jar spring-jms-4.3.7.release.jar MQ是请求/应答类型。 我已经设置了正确的证书和所有MQ属性,但由于某种原因,连接
问题内容: 我正在尝试使用基本上通过以下方式构建的Java客户端使用SSL消耗IBM MQ(版本8.0.0.8): Oracle JKD 8和IBM JRE 7(出于测试目的,我每个都有一个客户端) com.ibm.mq.allclient-9.1.0.0.jar javax.jms-api-2.0.1.jarspring-jms-4.3.7.RELEASE.jar spring-jms-4.3.
我有一个spring-boot项目,在其中我尝试连接到我刚刚创建的azure sql数据库。我第一次尝试它的时候是在com.microsoft.sqlserver groupId下使用sqljdbc4,每次尝试启动它的时候我都有安全错误,搜索了一下我发现它是用6+版本修复的。然后我安装了它并设置了依赖项 现在我不再有这个错误了,而是有了org.springframework.beans.facto
问题内容: 我试图在使用selenium和phantomjs webdriver的linux服务器上运行python脚本;但是,我不断收到以下错误消息: 这是一个失败并生成此错误的简单测试脚本: 在路径上调用文件,返回: 有谁知道如何启动并运行该脚本?我已阅读了似乎类似的stackoverflow问题,并尝试应用建议的解决方案,例如通过npm重新安装幻像并使用sudo执行脚本,但是没有运气。如果我
我有一个使用Struts1.3、Hibernate3和Spring Security开发的web应用程序。由于MySQL在此时间之后关闭了连接,该应用程序在8小时后就停止了运行。然后我从几个帖子中收集信息,使它保持很长时间,现在差不多是20-24小时。有没有人能帮我把这东西弄好。 摘要 Iam在不活动20小时后无法登录。连接被MySQL关闭。 多谢了。 C3p0日志 INFO AbstractPo
我知道以前也有人问过类似的问题,但没有一个对我有帮助。 基本上,我需要=%AppData%+“当前EXE名称” 但问题在于不同的字符串类型和字符串拼接 简化代码:- 编译器命令:- 编译器错误:-