android中的jdbc问题 - 无法连接到数据库
Posted
技术标签:
【中文标题】android中的jdbc问题 - 无法连接到数据库【英文标题】:Problem with jdbc in android - unable to connect to database 【发布时间】: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 应用程序连接有区别吗? 编辑:添加清单权限
【问题讨论】:
【参考方案1】:确保您在清单中请求互联网权限。
编辑:为此,请将<uses-permission android:name="android.permission.INTERNET" />
添加到您的清单中。
刚刚找到this 链接。不确定这是否可以轻松完成。
还有其他需要研究的是 CouchDB。它基于 REST,因此您不必围绕 MySQL DB 构建 php 服务 - 它纯粹是 REST。
【讨论】:
请检查我添加的权限是否足够。 @Jack - 修复了空白清单代码,但 OP 希望您解决他的问题(而不是他修复它):( 不,它必须是我知道这对某些人有用。确保使用 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 呢?恕我直言,从长远来看,这是值得的。
祝你好运。
【讨论】:
我正在尝试将其存储在手机外部,以便任何拥有凭据的人都可以访问它。不过还是谢谢你的建议。以上是关于android中的jdbc问题 - 无法连接到数据库的主要内容,如果未能解决你的问题,请参考以下文章
无法使用 JDBC 连接到 docker 中的本地 MySQL
无法使用 JDBC 在 android 中连接到 sql server 2008
Android - 关于使用 jdbc 连接到 MSSQL 的 classnotfound
JDBC 无法连接到某些 WiFi 的 Azure 服务器:允许所有 IP