从 Android Studio 访问 MSSQL

Posted

技术标签:

【中文标题】从 Android Studio 访问 MSSQL【英文标题】:Access MSSQL from Android Studio 【发布时间】:2018-04-19 09:15:32 【问题描述】:

我正在尝试从 android Studio 连接到 MSSQL 数据库。

我的代码:

Class.forName("net.sourceforge.jtds.jdbc.Driver");
StrictMode.ThreadPolicy policy = new   StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
Connection conn = DriverManager.getConnection("jdbc:jtds:sqlserver://192.168.1.66;databasename=POSEIDON;username=sa;password=myPass");

当我收到查询时:

 W/System.err: java.sql.SQLException: Single-Sign-On is only supported on Windows. Please specify a user name.

【问题讨论】:

考虑在后端和 android 端开发 Web 服务,使用 http 连接这些 Web 服务。这是常见的方式。不建议从 Android 连接到 SqlServer。 link 当前项目工作量太大。它不是商业应用,仅供内部使用。 可能与此重复:***.com/questions/12375437/… 大部分是这样,但我不明白答案。 我解决了。这解释了它:***.com/questions/3682852/…. 【参考方案1】:

直接从 Andriod 访问 MSSQL 数据库不是正确的方法。但类似于 API(RESTFull、SOAP),通过它查询记录并将其传递给 Android。

如果您需要在数据库中保存日期,SQLite 是一种存储应用数据的方式。它将数据存储到设备上的文本文件中,您无需建立任何类型的连接它像 JDBC、ODBC 等。

以下是使用 SQLite 的教程:-

Save Data using SQLite

【讨论】:

我实际上正在使用 MS SQL。我只从数据库中读取,我不存储任何东西。此外,该项目对于开发后端 Web 服务来说并没有那么大。正如您在代码中看到的,我使用 jdbc:jtds 库。 尝试使用运行数据库的 Windows 操作系统的用户/密码,而不是通常的 SQL Server 身份验证。 我尝试了我的用户,我使用了两种类型的身份验证,集成身份验证和 Windows 身份验证。它给了我同样的错误。我试过域\\用户名。

以上是关于从 Android Studio 访问 MSSQL的主要内容,如果未能解决你的问题,请参考以下文章

如何从android studio中的任何地方访问localhost数据库

Gradle 错误:仅在 Android Studio 中允许从事件调度线程进行写访问

访问设备/模拟器文件系统在Android Studio中

如何访问数组改造 2 / android studio 中的对象“播放器”

从 php 访问时,如何停止 MSSQL 截断文本?

Android Studio安装详细教程(从下载到安装,保姆级教程)