当前位置: 首页 > 知识库问答 >
问题:

连接android Studio到Azure SQL数据库使用Java

郎鸿
2023-03-14
 package com.example.workdb;

 import androidx.appcompat.app.AppCompatActivity;

 import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import android.os.AsyncTask;
import android.os.StrictMode;
  import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.os.Bundle;
import android.widget.TextView;

import org.w3c.dom.Text;

 import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import net.sourceforge.jtds.jdbc.*;
  public class MainActivity extends AppCompatActivity {
   public Button run;
   public TextView message;
   public TextView txtvw;
   public Connection con;
  @Override
   protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    run= (Button) findViewById(R.id.button);
    run.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v)

        {


            CheckLogin checkLogin= new CheckLogin();
            checkLogin.execute("");
            Log.d("CREATION","ON CREATE WORKS");
            //  Log.d("txtvw", connection);
            //System.out.println("Yes");
            // txtvw.setText("hello");

        }

    });
  } public class CheckLogin extends AsyncTask<String,String,String>
  {
    String z="";
    Boolean IsSuccess= false;
    String name1="";


    // Log.d("txtvw","step 1 done");
    protected void onPostExecute(String r){
        if (IsSuccess){
            message=(TextView)findViewById(R.id.textView);
            message.setText(name1);
            Log.d("TAG", "STEP 1 DONE");

        }
    }
    @Override
    protected String doInBackground(String... strings) {
        try
        {
            Connection con = connectionClass();
            if(con==null){
                z="Check interent";
                //Log.d("txtvw", z);

            }
            else
            {
                String query= "select * from Value";
                Statement stmt= con.createStatement();
                ResultSet rs= stmt.executeQuery(query);
                if (rs.next())
                {
                    name1=rs.getString("KneeAngle");
                    Log.d("MYTAG", "name 1 works");
                    z="Query success";
                    IsSuccess=true;
                    con.close();


                }
                else{
                    z="Invalid query";
                    IsSuccess=false;
                }



            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return z;
    }
}
public Connection connectionClass(){
    StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
    StrictMode.setThreadPolicy(policy);
    Connection connection = null;
    String ConnectionURL ;

    try{
        Class.forName("net.sourceforge.jtds.jdbs.Driver");
        

  

ConnectionURL=“jdbc:jtds:sqlserver://havvasemserv3.database.windows.net:1433;DatbaseName=Newfin;用户=;密码=;加密=真;trustServerCertificate=false;hostNameInCertificate=*。数据库窗户。网loginTimeout=30”;

        connection= DriverManager.getConnection(ConnectionURL);

    } catch(ClassNotFoundException e){
        Log.e("Error here 2 ",e.getMessage());

    }
    catch (Exception e) {
        Log.e("error here 3:",e.getMessage());

    }
    //Log.d("txtvw", connection);
    return connection;

}

}

我正在尝试将azure sql数据库连接到android studio。我已经在清单文件中添加了所有权限,我还在项目中添加了jtds模块1.3.1,并在gradle模块应用程序中实现了它。我的代码退出时有0个错误,但数据未显示在仿真器上。预期输出是我数据库中的第一个值,即“8”。谢谢

共有1个答案

云何平
2023-03-14

在超时后将此添加到当前连接url的末尾=30; ssl=请求

还要确保在azure服务器的防火墙设置中/数据库当前设备ip允许访问,因为默认情况下所有访问都被阻止,

要允许所有设备访问服务器,请转到防火墙设置,并在插入ip部分添加此ip范围

0,0,0,0和255255

 类似资料:
  • 我无法连接到我的。这是代码: 我得到了这个信息: 在学校,这个例子是有效的。问题出在哪里??

  • 我尝试用java连接到Oracle DB,但我遇到了错误,我搜索了很多次,我没有找到帮助我的东西。 当我尝试使用SQL developer连接时,它成功了。 因此,我尝试编写java代码来访问DB,它成功地连接到SSH,但当到达时,我遇到了错误: “java.sql.sqlException:Io异常:Oracle错误ORA-12650” 这是我的职能

  • 我想用客户端管理我的heroku数据库。到目前为止,我已经使用实现了这一点。当我使用中的数据使用连接de DB时,我获得: 连接到服务器时出错:致命:数据库“Postgres”的权限被拒绝详细信息:用户没有CONNECT特权。 有关于如何实现连接的指导吗?

  • 所以我正在尝试使用突出显示的连接进行连接。我使用密码'abcdefghijkl'登录到SQL环境。我正在尝试连接到名为“flight_school”的数据库 我的python脚本看起来就是这样。` 导入mysql.connector mydb=mysql.connector.connect(“localhost”,“root”,“abcdefghijkl”,“flight_school”“)打印(

  • 请知道,我对数据库很陌生。我能够正确安装mySQL和java连接器驱动程序。但每当我在eclipse中运行程序并尝试从我创建的数据库中检索信息时,我都会收到以下消息:“需要SSL连接,但服务器不支持”。下面是我要使用安全SSL连接运行的代码: `公共静态void main(字符串[]参数){

  • 我有一个Azure云服务(辅助角色),它需要连接到我的AzureSQL数据库,还需要连接到外部数据库。 在开发过程中,外部数据库位于公共互联网上,连接不是问题。 但是,现在需要在生产环境中部署该解决方案,并且通过设置虚拟网络来限制对外部数据库的访问。 部署在虚拟网络中时,云服务会从子网获取IP,但外部世界似乎无法访问,并且不会连接到AzureSQL数据库(我也无法对其进行RDP)。 这似乎超出了我

  • 问题内容: 如何使用java连接到mysql数据库? 问题答案: 逐步说明如何安装MySQL和JDBC以及如何使用它: 1.下载并安装MySQL服务器。只需按照通常的方式进行即可。每次更改时都请记住端口号。默认情况下3306。 2.下载 JDBC驱动程序并放入classpath,解压缩ZIP文件并将包含的JAR文件放入classpath。特定于供应商的JDBC驱动程序是 JDBC API的具体实现

  • 问题内容: 我正在尝试从Windows 7中的Node.js连接到Oracle数据库。这可能吗?我尚未找到适用于Windows的Node.js插件。有建议的解决方法吗?我猜至少还有一个人想要在Windows上使用Node.js,并且需要连接到Oracle。如果需要的话,我愿意接受简单的解决方法。谢谢您的帮助。 问题答案: 您需要直接从Node.js连接到oracle吗?您可以用另一种语言编写数据库