Java 无法从Android连接到SQL server

Java 无法从Android连接到SQL server,java,android,sql,sql-server,Java,Android,Sql,Sql Server,我想从Android连接到SQL server。我想从SQL server访问数据。但它并没有连接起来。请帮我解决这个问题 我已经包括了jtds-1.2.7.jar 这是我的main活动(我提到了我在程序中出错的地方): 它给出DriverManager.getConnection(conUrl、uname、pass)上的错误 该错误是一个IOExeption: socket failed: EACCES (Permission denied) 这是我的清单: <?xml version

我想从Android连接到SQL server。我想从SQL server访问数据。但它并没有连接起来。请帮我解决这个问题

我已经包括了jtds-1.2.7.jar

这是我的
main活动
(我提到了我在程序中出错的地方):

它给出DriverManager.getConnection(conUrl、uname、pass)上的错误

该错误是一个IOExeption:

socket failed: EACCES (Permission denied)
这是我的清单:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.alphahms"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="18" />

<uses-permission android:name="android.permission.INTERNET" />
<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name="com.example.alphahms.MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

有什么问题?Android和SQL Server专家请帮助我。

尝试添加

<uses-permission android:name="android.permission.INTERNET" />

在你的Android清单中

它允许应用程序打开网络套接字。

第一个
EACCES(权限被拒绝)
是因为您在清单中没有internet权限:

<uses-permission android:name="android.permission.INTERNET" />

添加后,您会发现ANR应用程序没有响应。这是因为您阻塞UI线程5秒或更长时间。您不应该在UI线程上执行网络请求,而应该使用后台线程<代码>异步任务可能是将操作卸载到后台线程的最简单方法。(由于您的
targetSdkVersion
为18,高于11,因此在UI线程上执行网络操作时还应获得
NetworkOnMainThreadException
——我猜您已在未显示的代码中抑制了该异常。)


通常,从移动客户端进行JDBC数据库连接是个坏主意。JDBC协议是为高吞吐量低延迟网络而设计的,例如在数据中心中。移动数据网络在高效使用JDBC方面既慢又不可靠。相反,为您的远程数据库操作创建一个web服务,并将您的移动应用程序连接到web服务。

我曾尝试将其添加到清单应用程序中,但当我将其添加到清单应用程序中时,需要一些时间打开并说**应用程序名称没有响应您想关闭它吗?**并且在logcat中显示
12-30 10:27:35.160:I/dalvikvm(6630):threadid=3:对信号3 12-30 10:27:35.211:I/dalvikvm(6630):将堆栈跟踪写入“/data/anr/traces.txt”
@Arnaud ChristSure先生,请再次检查我的问题,我在那里更新了清单@阿诺·克里斯蒂先生,我在等你的答复@阿诺基督。请检查我的代码,我在申请前已经添加了互联网许可。您是对的,它显示ANR应用程序没有响应。我怎样才能解决这个问题?我已经把我的目标定为17,我还应该做些什么。请帮我解决这个问题,或者请把我的代码放在你的adt中,然后你可以在anser中解决粘贴代码@laalto@LalitSuryawanshi最好的选择是抛弃从Android应用程序进行JDBC连接的想法。第二个最佳选择是在
AsyncTask
中执行。那么如何在@laalto执行任务AsyncTask呢
<uses-permission android:name="android.permission.INTERNET" />