如何使用库 jTDS JDBC 驱动程序将 android 应用程序连接到 sql server 2012
Posted
技术标签:
【中文标题】如何使用库 jTDS JDBC 驱动程序将 android 应用程序连接到 sql server 2012【英文标题】:How to connect android application to sql server 2012 using library jTDS JDBC Driver 【发布时间】:2014-07-02 06:10:30 【问题描述】:我是新会员,安卓开发者。当我使用库 jTDS JDBC 驱动程序 (jtds-1.2.7) 连接到 sql server 时,我收到此错误:
unknown server host name unable to resolve host "127.0.0.0.1\sqlexpress": No address associated with hostname
这里是源代码:
Connection connection ;
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
connection=CONN("sa", "abc123", "SqlForandroid", "127.0.0.1\\sqlexpress:1433");
@SuppressLint("NewApi")
private Connection CONN(String _user, String _pass, String _DB, String _server )
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
Connection conn = null;
String ConnURL = null;
try
Class.forName("net.sourceforge.jtds.jdbc.Driver").newInstance();
ConnURL = "jdbc:jtds:sqlserver://" + _server + ";"+"databaseName=" + _DB + ";user=" + _user + ";password=" + _pass +";";
conn = DriverManager.getConnection(ConnURL);
catch (SQLException se)
Log.e("ERRO",se.getMessage());
catch (ClassNotFoundException e)
Log.e("ERRO",e.getMessage());
catch (Exception e)
Log.e("ERRO",e.getMessage());
return conn;
我需要一个解决方案...
【问题讨论】:
【参考方案1】:您正在尝试连接到 127.0.0.1。那是你自己。我怀疑数据库在你的手机上,因为它不是 SQLite。修正 IP 地址。
顺便说一句,从安全角度来看,通过移动设备直接连接到数据库是一个坏主意。它要求您允许任何 IP 连接到您的数据库。更好的方法是在两者之间放置一个 web 服务,然后只允许该 PC 直接连接到数据库。它使访问您的数据变得更加困难。
【讨论】:
非常感谢!我找到了解决方案。那就是改变IP地址以上是关于如何使用库 jTDS JDBC 驱动程序将 android 应用程序连接到 sql server 2012的主要内容,如果未能解决你的问题,请参考以下文章
Tomcat 8 上 jTDS JDBC 驱动程序的 AbstractMethodError
SqlClient/OLEDB 驱动程序的连接字符串,如 jdbc:jtds 驱动程序?
ms sql microsoft的jdbc驱动和jTDS的驱动的区别
Eclipse 无法加载 JDBC Driver 类:net.sourceforge.jtds.jdbc.Driver?
JDBC:jtds getString() 以科学计数法返回双精度数
通过 JTDS 驱动程序执行 SQL Server 调用时出现“第 24 行位置的 JDBC 转义语法无效 '=' 预期字符”错误的原因?