【问题标题】:Connecting android to remote sqlserver将android连接到远程sql服务器
【发布时间】:2014-08-28 05:56:49
【问题描述】:

我正在尝试连接到 SQL Server 远程数据库,但我无法在 Android 中创建新连接,尽管我可以使用完全相同的代码通过 Java 应用程序进行连接。 DriverManager.getConnection() 抛出异常。这是我的代码

public DatabaseManipulation()
{
    URL=String.format(URL,localDatabaseName);
    Connect();
}

public void Connect() {
    try {
        connection = DriverManager.getConnection(URL,
                                   DATABASE_USERNAME, DATABASE_PASSWORD);
        statement=connection.createStatement();

    } catch(Exception e) {
        Log.d("con",e.getMessage);
    }
}

例外:

"到主机 192.168.100.23 的 TCP/IP 连接,端口 1433 有 失败的。错误:“/192.168.100.23:1433 - 网络不可达。验证 连接属性。确保 SQL Server 实例 正在主机上运行并在端口接受 TCP/IP 连接。 确保到端口的 TCP 连接没有被 防火墙。”。”

【问题讨论】:

  • 192.168.100.23 是无法从 Internet 访问的专用网络 IP 地址。您的设备在同一个网络上吗?顺便说一句,从移动设备直接访问远程数据库会带来许多安全和架构问题。您是否考虑过在您的数据库前面有一项服务来支持移动应用程序?
  • 是的,设备在同一个网络中。我可以毫无问题地与另一台 PC 上的 java 应用程序连接,但 android 不起作用。
  • 您的应用是否在AndroidManifest.xml 中设置了网络访问权限? (<uses-permission android:name="android.permission.INTERNET" />)
  • 是和其他一些权限,例如:蓝牙、Access_network_State、....

标签: java android sql-server tcp


【解决方案1】:

当两个或多个 SQL Server 通过网络连接时,它们使用 TCP/IP 进行所有通信。 SQL Server 安装的默认端口是 1433。可以通过 SQL Server 配置管理器更改此端口。应启用 TCP/IP 以连接 SQL Server。

转到所有程序 >> Microsoft SQL Server 2008 >> 配置工具 >> SQL Server 配置管理器 >> 选择 TCP/IP

【讨论】:

  • 我已检查它是否已开启。正如我所说的,我可以用确切的代码连接抛出一个 java 应用程序,但我在 android 中有问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-22
  • 2011-06-11
  • 1970-01-01
  • 2019-05-13
  • 1970-01-01
  • 2012-11-06
相关资源
最近更新 更多