View Full Version : مشکل اتصال به دیتابیس در real device
em9790
دوشنبه 26 اسفند 1392, 12:16 عصر
سلام
application من به دیتابیس شبکه lan متصل میشه که توی emulator کار می کنه ولی توی device واقعی getconnection مقداری بر نمی گردونه و این error رو میده:No host to rout و از همه بدتر به جای اینکه داخل catch پیامی نمایش بده برنامه stop میشه
prmission هم به app دادم و گوشیمم به اینترنت وصله
<uses-permission android:name="android.permission.INTERNET" />
لطفا بگید ایراد کار چیه؟
micro24
دوشنبه 26 اسفند 1392, 13:23 عصر
با سلام
یک مقدار بیشتر توضیح دهید احتمال زیاد در Emulator دارید روی SQLLite خود نرم افزار تون داده ها را ذخیره می کنید حالا Device تون می خواد ارتباط برقرار کنه با دیتابیستون که جای دیگر است توی شبکه نمی توانه، حداقل کد بگذارید ببینیم به چه صورت است، این تکه کدم اضافه کنید
<manifest ...>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="18" />
...
</manifest>
لینک زیر را هم ببینید
http://developer.android.com/guide/topics/data/data-storage.html#filesInternal
em9790
دوشنبه 26 اسفند 1392, 17:08 عصر
چرا باید این permission رو اضافه کنم؟
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="18" />
در واقع من از sharedprefencess برای نگهداری اطلاعات اتصال به دیتابیس sql استفاده کردم و وقتی هم برنامه uninstall میشه پاک میشه
این قسمتی از کدم که exception میده:
private Connection OpenDBConnection() throws Exception {
String _connectionInfo = ProjectConfigHelper.GetInstance().ReadActiveProjec tConfiguration(ConnectionTypes.DB);
String[] _connectionInfoArray = _connectionInfo.split(";");
Connection _connection=null;
String _server=_connectionInfoArray[0].toString();
String _catalog=_connectionInfoArray[1].toString();
String _username=_connectionInfoArray[2].toString();
String _password=_connectionInfoArray[3].toString();
String _timeOut=_connectionInfoArray[4].toString();
String _url = "jdbc:jtds:sqlserver://"+_server+":1433;DatabaseName="+_catalog+";integratedSecurity=false;";
try
{
Class.forName("net.sourceforge.jtds.jdbc.Driver").newInstance();
DriverManager.setLoginTimeout(Integer.parseInt(_ti meOut));
_connection = DriverManager.getConnection(_url,_username,_passwo rd);
}
catch (SQLException ex)
{
// TODO: handle exception
throw new Exception("Error in connecting to "+_server+System.getProperty("line.seperator")+ex.toString());
}
return _connection;
}
از SQLLite استفاده نکردم
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.