【问题标题】:Problem with jdbc in android - unable to connect to databaseandroid中的jdbc问题 - 无法连接到数据库
【发布时间】:2011-10-18 08:31:15
【问题描述】:

我是 jdbc 和 android 的新手。如果这个问题看起来很愚蠢,请原谅我。
我正在尝试从应用程序连接到 MySql 数据库。
我浏览了jdbc教程并编写了以下代码:


 public static void connectToServer () 
{
Connection conn = null;
try
{
//Connect to the database String userName = "********"; String password = "********"; String url = "jdbc:mysql://my.domain.name/myDBname"; Class.forName ("com.mysql.jdbc.Driver").newInstance (); conn = DriverManager.getConnection (url, userName, password); Log.e(tag,"Database connection established"); // Query the database Statement s = conn.createStatement (); String query = "INSERT INTO myTableName (A,B,C)" + "VALUES ('a','b','c')"); Log.e(tag,query); s.executeQuery (query); s.close (); } catch (Exception e) { Log.e(tag,"Database Connection Failed"); Log.e(tag,e.getMessage()); } finally { if (conn != null) { try { conn.close (); Log.e(tag,"Database connection terminated"); } catch (Exception e) { /* ignore close errors */ } } } }


我的清单代码:
< uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
< uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

logcat 是:
....
Database connection terminated //my output
com.mysql.jdbc.Driver // output from exception e.getMessage()

我做错了什么?
从 java 应用程序和 android 应用程序连接有区别吗?

编辑:添加清单权限

【问题讨论】:

    标签: java android mysql jdbc database-connection


    【解决方案1】:

    确保您在清单中请求互联网权限。

    编辑:为此,请将&lt;uses-permission android:name="android.permission.INTERNET" /&gt; 添加到您的清单中。

    刚刚找到this 链接。不确定这是否可以轻松完成。

    还有其他需要研究的是 CouchDB。它基于 REST,因此您不必围绕 MySQL DB 构建 php 服务 - 它纯粹是 REST。

    【讨论】:

    • 请检查我添加的权限是否足够。
    • @Jack - 修复了空白清单代码,但 OP 希望您解决他的问题(而不是他修复它):(
    • 不,它必须是
    • 我添加了权限,我得到了完全相同的结果。数据库连接已终止。
    • 您是否在不同的环境中进行了测试,比如使用 Java 的本地计算机?
    【解决方案2】:

    我知道这对某些人有用。确保使用 JDBC 连接器 mysql-connector-java-3.0.17-ga-bin.jar。谷歌。

    【讨论】:

    • 我在 eclipse 文件夹中有 mysql-connector-java-5.1.17。那样可以么?如果它的位置错误,我应该在哪里找到它?我也猜想 jdbc 驱动程序附带 jdk1.7.0 jre7 包。那么我也需要单独拥有驱动程序吗?
    • 您将其添加为外部 jar 吗?
    • 没有。你能告诉我怎么做吗?
    • 好吧,右键单击您的项目文件夹...然后选择构建路径--> 配置构建路径--> 添加外部 jar --> 然后导航到 jar 在您的计算机上的位置,然后添加它。所以在你的情况下导航到 mysql-connector.jar
    • 嗨,我收到了 - 转换为 Dalvik 格式失败并出现错误。
    【解决方案3】:

    为什么不花点时间学习 android.database.sqlite 呢?恕我直言,从长远来看,这是值得的。

    祝你好运。

    【讨论】:

    • 我正在尝试将其存储在手机外部,以便任何拥有凭据的人都可以访问它。不过还是谢谢你的建议。
    猜你喜欢
    • 2014-12-09
    • 1970-01-01
    • 1970-01-01
    • 2016-05-02
    • 2021-06-27
    • 1970-01-01
    • 2021-10-20
    • 2013-06-18
    • 1970-01-01
    相关资源
    最近更新 更多