从 Android Studio 连接到 SQL Server 2014

Posted

技术标签:

【中文标题】从 Android Studio 连接到 SQL Server 2014【英文标题】:Connecting to SQL Server 2014 from Android Studio 【发布时间】:2017-04-22 15:29:33 【问题描述】:

我在通过我的 android 项目连接到 SQL-server 数据库时遇到问题。我已将 sqljdbc41.jar 文件添加到我的 /app/libs 目录中,并将其添加到我的 android studio 项目中的依赖项中。

我使用以下代码:

package com.konrad.rezerwacje1;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;



public class Database_Console 

public static void openConnection()
    try 
        Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"‌​);
        String url = "jbdc:sqlserver://127.0.0.1:1433;databaseName=my_db";
        Connection con = DriverManager.getConnection(url);
     catch (SQLException e) 
        e.printStackTrace();
     catch (ClassNotFoundException e) 
        e.printStackTrace();
    


public static void main(String[] args)
    openConnection();


但我仍然收到此错误

java.sql.SQLException: No suitable driver found for jbdc:sqlserver://127.0.0.1:1433;databaseName=my_db
    at java.sql.DriverManager.getConnection(DriverManager.java:689)
    at java.sql.DriverManager.getConnection(DriverManager.java:270)

【问题讨论】:

您的网址中有错字,应该是 jdbc (j>db 【参考方案1】:

而不是这个:

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"‌​);
String url = "jbdc:sqlserver://127.0.0.1:1433;databaseName=my_db";

你必须使用这个:

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String url = "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=my_db";

Connection con = DriverManager.getConnection(url, "username", "password");

注意不同的类名,并且 URL 中的前缀 jbdc 已更改为 jdbc

【讨论】:

不是这样,我仍然收到相同的错误消息 @KonradK 使用这个Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); 而不是这个Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); Information:Gradle: Executing tasks: [:app:assembleDebug] Information:22.04.2017 18:18 - Compilation completed with 4 errors and 0 warnings in 2s 683ms Error:Gradle: Execution failed for task ':app:compileDebugJavaWithJavac'. > Compilation failed; see the compiler error output for details. C:\Users\Konrad\AndroidStudioProjects\Rezerwacje1\app\src\main\java\com\konrad\rezerwacje1\Database_Console.java Error:(17, 72) Gradle: error: illegal character: '\u200c' Error:(17, 73) Gradle: error: illegal character: '\u200b' Error:(17, 74) Gradle: error: ';' expected 好的,这是另一个问题@KonradK 在代码的另一部分你必须分享更多代码,或者问另一个问题 @KonradK 但这不是我已经建议你必须使用的 String url = "jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=my_db"; Connection con = DriverManager.getConnection(url, "username", "password");【参考方案2】:

如果不需要使用sqljdbc41.jar,那么您可以考虑使用jtds 驱动程序来满足您使用Android Studio 连接到SQL Server 2014 的要求。有大量文章可以帮助您开始使用这套技术。

对于入门,以下是详细信息:

从here下载JTDS驱动 然后将这个jar导入你的Android Studio,例如:jtds-1.2.5.jar

在您的代码中使用以下详细信息:

Class.forName("net.sourceforge.jtds.jdbc.Driver").newInstance();
DriverManager.getConnection("jdbc:jtds:sqlserver://127.0.0.1:1433/DATABASE;user=sa;password=p@ssw0rd");

【讨论】:

以上是关于从 Android Studio 连接到 SQL Server 2014的主要内容,如果未能解决你的问题,请参考以下文章

无法连接到 SQL 数据库(Java、Android Studio)

从 Visual Studio 连接到 SQL Server CE

从 Visual Studio 连接到 SQL Server 2005

无法从 Visual Studio 数据库项目连接到 SQL Azure 服务器

从 SQL Server Management Studio 连接到数据库服务器时出错

从 android studio API 28 连接到解析服务器的 i/o 失败