2013-05-14 77 views
0

首先,也许这可能是一个转发:https://stackoverflow.com/questions/13078271/trying-to-use-jtds-in-android-project,不知道,但似乎没有答案,在这篇文章中我会尝试在这里,问题是,即时尝试连接到一个MS SQL 2k5通过 JTDS(虽然JTDS连接是好的,我尝试了一个纯java测试 ,并可以连接成功)在android与ADT(eclipse),它无法找到类的类路径获取典型异常ClassNotFoundException,因为我没有遇到这个问题之前,我做了所有我知道的解决它(除了通过命令行运行程序与“java -cp”,因为我不知道如何做到这一点与达尔维克,所以我通过“构建路径”eclipse选项设置类路径 ,将jar放在libs /下,在发生异常的xxx次失败后,我清除libs /和remo中的所有jar通过“构建路径”选项将所有罐子打包,清理项目并重新启动eclipse,再次设置罐子,仍然有相同的异常,仍然待定;配置变量通过Windows的classpath变量,任何其他想法家伙?JTDS为MS SQL在Android与ADT

软件: Windows 7专业版32位 JDK 1.7 ADT蚀 JTDS 1.3(最新现在在他们的网页) MS SQL 2K5 的Android 4.2.2

注意:如果需要的代码,要求它(我不认为是必要的,相同的代码在纯Java中通过netbeans运行完美的 )。

回答

1

似乎这是一个难以触及的话题(无法回答的原因),无论如何,我解决了这个问题,在这里我会一步一步离开它。

1:安装MS SQL 2K5(注意穿上混合(窗口AUTH和SQL用户DB访问的/传递和extrictly置于SA用户这是强制性的)的密码

2:安装MS SQL管理工作室(如果你想让事情变得更简单,这是可选的)通过GUI创建数据库并证明你正在插入的东西(或者你正在做的任何事情)与Android设备是真的正在完成。 :配置您的MS SQL,转到:SQL服务器配置管理器; SQL Express协议; TCP/IP 在第一个选项卡(协议)中将“启用”设置为yes,然后在IP选项卡中,将ipv4设置为启用YES,启用ipv2是的在IPALL把TCP端口1433

4:现在去你JTDS-1.2.x的-dist的文件夹,进入到86(如果32位操作系统的情况下,到64,然后64 文件夹),那么SSO和复制ntlmauth。 dll给你jdk/bin或者jre/bin文件夹。

5:我不会在这里贴上我的所有代码,但字符串连接是一件重要的事情:

conn = DriverManager.getConnection("jdbc:jtds:sqlserver://192.168.3.67:1433/androiddb", "sa", "1013") 

6:注意,用于从Android设备连接ip是ipv2,而不是如果使用ipv4默认的127.0.0.1或localhost,那么它将无法工作,请使用ipv2版本。

我测试从一个真正的Android设备,完全三星银河标签,如果你尝试从 模拟器也许你必须使用10.0.2.2 IP,不知道这一点,因为我没有测试它,一更重要的是,当我写这个1.3.0 jtds不适用于android 4.2时,这就是为什么我在jtds中说要查看你的jtds-1.2.x-dist,现在你必须使用1.2.x版本。

希望这有助于任何人,问候。

+0

嗨,我可以知道你是否收到任何错误,如“字符集0x0904000128/Cp850不被JVM支持。”在发展过程中?我在android中遇到这个错误,并且当我在纯JAVA上测试它时,它工作正常。你有什么想法如何解决这个问题?谢谢 – AuroraBlaze