Visualizzazione stampabile
-
mi pare che dove lavoravo usassero access con una funzionalità ODBC(ospedale, lavoravano in contemporanea sulle anagrafiche pazienti) che funziona come il JDBC in mysql per l'accesso ai dati in modo concorrenziale....dovrebbe lui secondo me informarsi meglio
-
Ciao Ragazzi nei prossimi giorni proverò con JDBC e vi saprò dire come va grazie a tutti per l'interessamento.
-
Allora Sto provando ma ho degli errori,e prima di tutto non riesco a capire se si connette al DB.
Prima di tutto vi spiego, ho fatto una classe per la connessione:
codice:
package com.example.prova;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public final class Database
{
public Connection connectionObj;
private Statement statement;
public static Database dataBase;
ResultSet res ;
Database()
{
String url = "jdbc:jtds:sqlserver://192.168.1.2/D:/Dropbox/Programmazione/c#;"+"dati.mdb=gmpa;encrypt=false;";
String driver = "net.sourceforge.jtds.jdbc.Driver";
String userName = "casa";
String password = "la password del mio PC";
try
{
Class.forName(driver).newInstance();
this.connectionObj = (Connection)DriverManager.getConnection(url,userName,password);
}
catch (Exception sqle)
{
sqle.printStackTrace();
}
}
/**
*
* @return MysqlConnect Database connection object
*/
public static synchronized Database getDbCon()
{
if ( dataBase == null )
{
dataBase = new Database();
}
return dataBase;
}
/**
*
* @param query String The query to be executed
* @return a ResultSet object containing the results or null if not available
* @throws SQLException
*/
public ResultSet query(String query) throws SQLException
{
statement = dataBase.connectionObj.createStatement();
res = statement.executeQuery(query);
return res;
}
/**
* @desc Method to insert data to a table
* @param insertQuery String The Insert query
* @return boolean
* @throws SQLException
*/
public int insert(String insertQuery) throws SQLException
{
statement = dataBase.connectionObj.createStatement();
int result = statement.executeUpdate(insertQuery);
return result;
}
Poi nel Main Activity la volevo provare velocemente leggendo un'intera tabella :
codice:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment())
.commit();
}
Database Data = new Database();
Data.getDbCon();
try {
Data.query("SELECT * From tabripa" );
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Ma l'applicazione mi va in crash e non riesco a capire l'errore(Non è tutto il log cat ma si dovrebbe capire):
codice:
07-02 07:07:39.625: W/System.err(20063): Caused by: java.lang.NoClassDefFoundError: net/sourceforge/jtds/jdbc/Driver
07-02 07:07:39.625: W/System.err(20063): ... 19 more
07-02 07:07:39.625: W/System.err(20063): Caused by: java.lang.ClassNotFoundException: Didn't find class "net.sourceforge.jtds.jdbc.Driver" on path: DexPathList[[zip file "/data/app/com.example.prova-5.apk"],nativeLibraryDirectories=[/data/app-lib/com.example.prova-5, /vendor/lib, /system/lib]]
07-02 07:07:39.635: W/System.err(20063): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:67)
07-02 07:07:39.635: W/System.err(20063): at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
07-02 07:07:39.635: W/System.err(20063): at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
07-02 07:07:39.635: W/System.err(20063): ... 19 more
07-02 07:07:39.635: W/System.err(20063): java.lang.ClassNotFoundException: net.sourceforge.jtds.jdbc.Driver
07-02 07:07:39.635: W/System.err(20063): at java.lang.Class.classForName(Native Method)
07-02 07:07:39.635: W/System.err(20063): at java.lang.Class.forName(Class.java:251)
07-02 07:07:39.635: W/System.err(20063): at java.lang.Class.forName(Class.java:216)
07-02 07:07:39.635: W/System.err(20063): at com.example.prova.Database.<init>(Database.java:27)
07-02 07:07:39.635: W/System.err(20063): at com.example.prova.Database.getDbCon(Database.java:44)
07-02 07:07:39.635: W/System.err(20063): at com.example.prova.MainActivity.onCreate(MainActivity.java:29)
07-02 07:07:39.635: W/System.err(20063): at android.app.Activity.performCreate(Activity.java:5426)
07-02 07:07:39.635: W/System.err(20063): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
07-02 07:07:39.635: W/System.err(20063): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2269)
07-02 07:07:39.635: W/System.err(20063): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2363)
07-02 07:07:39.635: W/System.err(20063): at android.app.ActivityThread.access$900(ActivityThread.java:161)
07-02 07:07:39.635: W/System.err(20063): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1265)
07-02 07:07:39.635: W/System.err(20063): at android.os.Handler.dispatchMessage(Handler.java:102)
07-02 07:07:39.635: W/System.err(20063): at android.os.Looper.loop(Looper.java:157)
07-02 07:07:39.635: W/System.err(20063): at android.app.ActivityThread.main(ActivityThread.java:5356)
07-02 07:07:39.635: W/System.err(20063): at java.lang.reflect.Method.invokeNative(Native Method)
07-02 07:07:39.635: W/System.err(20063): at java.lang.reflect.Method.invoke(Method.java:515)
07-02 07:07:39.635: W/System.err(20063): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
07-02 07:07:39.635: W/System.err(20063): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
07-02 07:07:39.635: W/System.err(20063): at dalvik.system.NativeStart.main(Native Method)
07-02 07:07:39.635: W/System.err(20063): Caused by: java.lang.NoClassDefFoundError: net/sourceforge/jtds/jdbc/Driver
07-02 07:07:39.635: W/System.err(20063): ... 20 more
07-02 07:07:39.635: W/System.err(20063): Caused by: java.lang.ClassNotFoundException: Didn't find class "net.sourceforge.jtds.jdbc.Driver" on path: DexPathList[[zip file "/data/app/com.example.prova-5.apk"],nativeLibraryDirectories=[/data/app-lib/com.example.prova-5, /vendor/lib, /system/lib]]
07-02 07:07:39.635: W/System.err(20063): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:67)
07-02 07:07:39.645: W/System.err(20063): at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
07-02 07:07:39.645: W/System.err(20063): at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
07-02 07:07:39.645: W/System.err(20063): ... 20 more
07-02 07:07:39.645: D/AndroidRuntime(20063): Shutting down VM
07-02 07:07:39.645: W/dalvikvm(20063): threadid=1: thread exiting with uncaught exception (group=0x41818da0)
07-02 07:07:39.645: E/AndroidRuntime(20063): FATAL EXCEPTION: main
07-02 07:07:39.645: E/AndroidRuntime(20063): Process: com.example.prova, PID: 20063
07-02 07:07:39.645: E/AndroidRuntime(20063): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.prova/com.example.prova.MainActivity}: java.lang.NullPointerException
07-02 07:07:39.645: E/AndroidRuntime(20063): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2305)
07-02 07:07:39.645: E/AndroidRuntime(20063): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2363)
07-02 07:07:39.645: E/AndroidRuntime(20063): at android.app.ActivityThread.access$900(ActivityThread.java:161)
07-02 07:07:39.645: E/AndroidRuntime(20063): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1265)
07-02 07:07:39.645: E/AndroidRuntime(20063): at android.os.Handler.dispatchMessage(Handler.java:102)
07-02 07:07:39.645: E/AndroidRuntime(20063): at android.os.Looper.loop(Looper.java:157)
07-02 07:07:39.645: E/AndroidRuntime(20063): at android.app.ActivityThread.main(ActivityThread.java:5356)
07-02 07:07:39.645: E/AndroidRuntime(20063): at java.lang.reflect.Method.invokeNative(Native Method)
07-02 07:07:39.645: E/AndroidRuntime(20063): at java.lang.reflect.Method.invoke(Method.java:515)
07-02 07:07:39.645: E/AndroidRuntime(20063): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
07-02 07:07:39.645: E/AndroidRuntime(20063): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
07-02 07:07:39.645: E/AndroidRuntime(20063): at dalvik.system.NativeStart.main(Native Method)
07-02 07:07:39.645: E/AndroidRuntime(20063): Caused by: java.lang.NullPointerException
07-02 07:07:39.645: E/AndroidRuntime(20063): at com.example.prova.Database.query(Database.java:57)
07-02 07:07:39.645: E/AndroidRuntime(20063): at com.example.prova.MainActivity.onCreate(MainActivity.java:31)
07-02 07:07:39.645: E/AndroidRuntime(20063): at android.app.Activity.performCreate(Activity.java:5426)
07-02 07:07:39.645: E/AndroidRuntime(20063): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
07-02 07:07:39.645: E/AndroidRuntime(20063): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2269)
07-02 07:07:39.645: E/AndroidRuntime(20063): ... 11 more
-
Quote:
Originariamente inviato da
nio74android
Allora Sto provando ma ho degli errori,e prima di tutto non riesco a capire se si connette al DB.
Prima di tutto vi spiego, ho fatto una classe per la connessione:
codice:
package com.example.prova;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public final class Database
{
public Connection connectionObj;
private Statement statement;
public static Database dataBase;
ResultSet res ;
Database()
{
String url = "jdbc:jtds:sqlserver://192.168.1.2/D:/Dropbox/Programmazione/c#;"+"dati.mdb=gmpa;encrypt=false;";
String driver = "net.sourceforge.jtds.jdbc.Driver";
String userName = "casa";
String password = "la password del mio PC";
try
{
Class.forName(driver).newInstance();
this.connectionObj = (Connection)DriverManager.getConnection(url,userName,password);
}
catch (Exception sqle)
{
sqle.printStackTrace();
}
}
/**
*
* @return MysqlConnect Database connection object
*/
public static synchronized Database getDbCon()
{
if ( dataBase == null )
{
dataBase = new Database();
}
return dataBase;
}
/**
*
* @param query String The query to be executed
* @return a ResultSet object containing the results or null if not available
* @throws SQLException
*/
public ResultSet query(String query) throws SQLException
{
statement = dataBase.connectionObj.createStatement();
res = statement.executeQuery(query);
return res;
}
/**
* @desc Method to insert data to a table
* @param insertQuery String The Insert query
* @return boolean
* @throws SQLException
*/
public int insert(String insertQuery) throws SQLException
{
statement = dataBase.connectionObj.createStatement();
int result = statement.executeUpdate(insertQuery);
return result;
}
Poi nel Main Activity la volevo provare velocemente leggendo un'intera tabella :
codice:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment())
.commit();
}
Database Data = new Database();
Data.getDbCon();
try {
Data.query("SELECT * From tabripa" );
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Ma l'applicazione mi va in crash e non riesco a capire l'errore(Non è tutto il log cat ma si dovrebbe capire):
codice:
07-02 07:07:39.625: W/System.err(20063): Caused by: java.lang.NoClassDefFoundError: net/sourceforge/jtds/jdbc/Driver
07-02 07:07:39.625: W/System.err(20063): ... 19 more
07-02 07:07:39.625: W/System.err(20063): Caused by: java.lang.ClassNotFoundException: Didn't find class "net.sourceforge.jtds.jdbc.Driver" on path: DexPathList[[zip file "/data/app/com.example.prova-5.apk"],nativeLibraryDirectories=[/data/app-lib/com.example.prova-5, /vendor/lib, /system/lib]]
07-02 07:07:39.635: W/System.err(20063): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:67)
07-02 07:07:39.635: W/System.err(20063): at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
07-02 07:07:39.635: W/System.err(20063): at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
07-02 07:07:39.635: W/System.err(20063): ... 19 more
07-02 07:07:39.635: W/System.err(20063): java.lang.ClassNotFoundException: net.sourceforge.jtds.jdbc.Driver
07-02 07:07:39.635: W/System.err(20063): at java.lang.Class.classForName(Native Method)
07-02 07:07:39.635: W/System.err(20063): at java.lang.Class.forName(Class.java:251)
07-02 07:07:39.635: W/System.err(20063): at java.lang.Class.forName(Class.java:216)
07-02 07:07:39.635: W/System.err(20063): at com.example.prova.Database.<init>(Database.java:27)
07-02 07:07:39.635: W/System.err(20063): at com.example.prova.Database.getDbCon(Database.java:44)
07-02 07:07:39.635: W/System.err(20063): at com.example.prova.MainActivity.onCreate(MainActivity.java:29)
07-02 07:07:39.635: W/System.err(20063): at android.app.Activity.performCreate(Activity.java:5426)
07-02 07:07:39.635: W/System.err(20063): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
07-02 07:07:39.635: W/System.err(20063): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2269)
07-02 07:07:39.635: W/System.err(20063): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2363)
07-02 07:07:39.635: W/System.err(20063): at android.app.ActivityThread.access$900(ActivityThread.java:161)
07-02 07:07:39.635: W/System.err(20063): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1265)
07-02 07:07:39.635: W/System.err(20063): at android.os.Handler.dispatchMessage(Handler.java:102)
07-02 07:07:39.635: W/System.err(20063): at android.os.Looper.loop(Looper.java:157)
07-02 07:07:39.635: W/System.err(20063): at android.app.ActivityThread.main(ActivityThread.java:5356)
07-02 07:07:39.635: W/System.err(20063): at java.lang.reflect.Method.invokeNative(Native Method)
07-02 07:07:39.635: W/System.err(20063): at java.lang.reflect.Method.invoke(Method.java:515)
07-02 07:07:39.635: W/System.err(20063): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
07-02 07:07:39.635: W/System.err(20063): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
07-02 07:07:39.635: W/System.err(20063): at dalvik.system.NativeStart.main(Native Method)
07-02 07:07:39.635: W/System.err(20063): Caused by: java.lang.NoClassDefFoundError: net/sourceforge/jtds/jdbc/Driver
07-02 07:07:39.635: W/System.err(20063): ... 20 more
07-02 07:07:39.635: W/System.err(20063): Caused by: java.lang.ClassNotFoundException: Didn't find class "net.sourceforge.jtds.jdbc.Driver" on path: DexPathList[[zip file "/data/app/com.example.prova-5.apk"],nativeLibraryDirectories=[/data/app-lib/com.example.prova-5, /vendor/lib, /system/lib]]
07-02 07:07:39.635: W/System.err(20063): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:67)
07-02 07:07:39.645: W/System.err(20063): at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
07-02 07:07:39.645: W/System.err(20063): at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
07-02 07:07:39.645: W/System.err(20063): ... 20 more
07-02 07:07:39.645: D/AndroidRuntime(20063): Shutting down VM
07-02 07:07:39.645: W/dalvikvm(20063): threadid=1: thread exiting with uncaught exception (group=0x41818da0)
07-02 07:07:39.645: E/AndroidRuntime(20063): FATAL EXCEPTION: main
07-02 07:07:39.645: E/AndroidRuntime(20063): Process: com.example.prova, PID: 20063
07-02 07:07:39.645: E/AndroidRuntime(20063): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.prova/com.example.prova.MainActivity}: java.lang.NullPointerException
07-02 07:07:39.645: E/AndroidRuntime(20063): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2305)
07-02 07:07:39.645: E/AndroidRuntime(20063): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2363)
07-02 07:07:39.645: E/AndroidRuntime(20063): at android.app.ActivityThread.access$900(ActivityThread.java:161)
07-02 07:07:39.645: E/AndroidRuntime(20063): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1265)
07-02 07:07:39.645: E/AndroidRuntime(20063): at android.os.Handler.dispatchMessage(Handler.java:102)
07-02 07:07:39.645: E/AndroidRuntime(20063): at android.os.Looper.loop(Looper.java:157)
07-02 07:07:39.645: E/AndroidRuntime(20063): at android.app.ActivityThread.main(ActivityThread.java:5356)
07-02 07:07:39.645: E/AndroidRuntime(20063): at java.lang.reflect.Method.invokeNative(Native Method)
07-02 07:07:39.645: E/AndroidRuntime(20063): at java.lang.reflect.Method.invoke(Method.java:515)
07-02 07:07:39.645: E/AndroidRuntime(20063): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
07-02 07:07:39.645: E/AndroidRuntime(20063): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
07-02 07:07:39.645: E/AndroidRuntime(20063): at dalvik.system.NativeStart.main(Native Method)
07-02 07:07:39.645: E/AndroidRuntime(20063): Caused by: java.lang.NullPointerException
07-02 07:07:39.645: E/AndroidRuntime(20063): at com.example.prova.Database.query(Database.java:57)
07-02 07:07:39.645: E/AndroidRuntime(20063): at com.example.prova.MainActivity.onCreate(MainActivity.java:31)
07-02 07:07:39.645: E/AndroidRuntime(20063): at android.app.Activity.performCreate(Activity.java:5426)
07-02 07:07:39.645: E/AndroidRuntime(20063): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
07-02 07:07:39.645: E/AndroidRuntime(20063): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2269)
07-02 07:07:39.645: E/AndroidRuntime(20063): ... 11 more
Non trova il jdbc il driver
-
1 allegato(i)
Starno perche il driver è caricato nella libreria Allegato 115628
-
Quote:
Originariamente inviato da
nio74android
allora vai sul sito di mysql e scarica il driver il tuo mi sa che è sbagliato deve chiamarsi cosi:
mysql-connector-java-numero di versione esempio mysql-connector-java-5.1.22
poi in eclipse fai import external JAR e inserisci il driver mysql
-
Ho fatto un passo in avanti in Order on Export non era selezionato il driver,ora però mi sono imbattuto in un'altro errore non riesco a capire se è un errore di stringa di connessione
codice:
String url = "jdbc:jtds:sqlserver://192.168.1.2:15159/D:/Dropbox/Programmazione/c#;"+"dati.mdb=gmpa;encrypt=false;";
String driver = "net.sourceforge.jtds.jdbc.Driver";
String userName = "casa";
String password = "Password";
Ho cercato delle possibili soluzioni ed una diceva di creare un AsyncTask e mettere li il mio codice di connessione ma non saprei come farlo.Secondo voi cosa può essere?
-
Scusate se mi rispondo da solo ma penso che puo essere utile ad altri,allora credo di essere riuscito a far si che il driver provi a connettersi almeno credo ma non riesco a capire se ho fatto tutto giusto allora vi posto le due classi che ho fatto con una semplice interrogazione di una tabella. Il Db non ha Username ma ha solo una password non riesco a capire se devo impostare l'username e la password del pc dove è ospitato il db o cosa. sapreste spiegarmelo?
Questa è la classe che uso per connettermi :
codice:
public static Database dataBase;
ResultSet res ;
Database()
{
String url = "jdbc:jtds:sqlserver://localhost/D:/Dropbox/Programmazione/c#;"+"databaseName=dati.mdb;encrypt=false;";
String driver = "net.sourceforge.jtds.jdbc.Driver";
String userName = "";
String password = "gmpa";
try
{
Class.forName(driver).newInstance();
this.connectionObj = DriverManager.getConnection(url, userName, password);
}
catch (Exception sqle)
{
sqle.printStackTrace();
}
}
/**
*
* @return MysqlConnect Database connection object
*/
public static synchronized Database getDbCon()
{
if ( dataBase == null )
{
dataBase = new Database();
}
return dataBase;
}
/**
*
* @param query String The query to be executed
* @return a ResultSet object containing the results or null if not available
* @throws SQLException
*/
public ResultSet query(String query) throws SQLException
{
statement = dataBase.connectionObj.createStatement();
res = statement.executeQuery(query);
return res;
}
/**
* @desc Method to insert data to a table
* @param insertQuery String The Insert query
* @return boolean
* @throws SQLException
*/
public int insert(String insertQuery) throws SQLException
{
statement = dataBase.connectionObj.createStatement();
int result = statement.executeUpdate(insertQuery);
return result;
}
Questo è il mainActivity
codice:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment())
.commit();
}
Database Data = new Database();
Database.getDbCon();
try {
Data.query("SELECT * From tabripa" );
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
/**
* A placeholder fragment containing a simple view.
*/
public static class PlaceholderFragment extends Fragment {
public PlaceholderFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_main, container, false);
return rootView;
}
}
}
Questo l'ultimo Log cat
codice:
07-13 03:08:50.466: D/dalvikvm(2973): GC_FOR_ALLOC freed 206K, 9% free 2924K/3184K, paused 46ms, total 48ms
07-13 03:08:50.516: D/dalvikvm(2973): GC_FOR_ALLOC freed 243K, 14% free 3002K/3464K, paused 34ms, total 34ms
07-13 03:08:50.766: D/dalvikvm(2973): GC_FOR_ALLOC freed 267K, 9% free 3249K/3568K, paused 42ms, total 42ms
07-13 03:08:51.066: W/System.err(2973): android.os.NetworkOnMainThreadException
07-13 03:08:51.066: W/System.err(2973): at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1145)
07-13 03:08:51.066: W/System.err(2973): at java.net.InetAddress.lookupHostByName(InetAddress.java:385)
07-13 03:08:51.066: W/System.err(2973): at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)
07-13 03:08:51.066: W/System.err(2973): at java.net.InetAddress.getAllByName(InetAddress.java:214)
07-13 03:08:51.116: D/dalvikvm(2973): GC_FOR_ALLOC freed 340K, 11% free 3421K/3812K, paused 52ms, total 52ms
07-13 03:08:51.116: W/System.err(2973): at java.net.Socket.tryAllAddresses(Socket.java:109)
07-13 03:08:51.116: W/System.err(2973): at java.net.Socket.<init>(Socket.java:178)
07-13 03:08:51.116: W/System.err(2973): at java.net.Socket.<init>(Socket.java:150)
07-13 03:08:51.126: W/System.err(2973): at net.sourceforge.jtds.jdbc.SharedSocket.<init>(SharedSocket.java:259)
07-13 03:08:51.126: W/System.err(2973): at net.sourceforge.jtds.jdbc.ConnectionJDBC2.<init>(ConnectionJDBC2.java:311)
07-13 03:08:51.126: W/System.err(2973): at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:187)
07-13 03:08:51.126: W/System.err(2973): at java.sql.DriverManager.getConnection(DriverManager.java:179)
07-13 03:08:51.126: W/System.err(2973): at java.sql.DriverManager.getConnection(DriverManager.java:213)
07-13 03:08:51.126: W/System.err(2973): at com.example.prova.Database.<init>(Database.java:28)
07-13 03:08:51.126: W/System.err(2973): at com.example.prova.MainActivity.onCreate(MainActivity.java:26)
07-13 03:08:51.126: W/System.err(2973): at android.app.Activity.performCreate(Activity.java:5231)
07-13 03:08:51.126: W/System.err(2973): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
07-13 03:08:51.126: W/System.err(2973): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
07-13 03:08:51.136: W/System.err(2973): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
07-13 03:08:51.136: W/System.err(2973): at android.app.ActivityThread.access$800(ActivityThread.java:135)
07-13 03:08:51.136: W/System.err(2973): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
07-13 03:08:51.136: W/System.err(2973): at android.os.Handler.dispatchMessage(Handler.java:102)
07-13 03:08:51.136: W/System.err(2973): at android.os.Looper.loop(Looper.java:136)
07-13 03:08:51.136: W/System.err(2973): at android.app.ActivityThread.main(ActivityThread.java:5017)
07-13 03:08:51.136: W/System.err(2973): at java.lang.reflect.Method.invokeNative(Native Method)
07-13 03:08:51.136: W/System.err(2973): at java.lang.reflect.Method.invoke(Method.java:515)
07-13 03:08:51.136: W/System.err(2973): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
07-13 03:08:51.136: W/System.err(2973): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
07-13 03:08:51.136: W/System.err(2973): at dalvik.system.NativeStart.main(Native Method)
07-13 03:08:51.146: W/System.err(2973): android.os.NetworkOnMainThreadException
07-13 03:08:51.146: W/System.err(2973): at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1145)
07-13 03:08:51.146: W/System.err(2973): at java.net.InetAddress.lookupHostByName(InetAddress.java:385)
07-13 03:08:51.146: W/System.err(2973): at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)
07-13 03:08:51.146: W/System.err(2973): at java.net.InetAddress.getAllByName(InetAddress.java:214)
07-13 03:08:51.146: W/System.err(2973): at java.net.Socket.tryAllAddresses(Socket.java:109)
07-13 03:08:51.146: W/System.err(2973): at java.net.Socket.<init>(Socket.java:178)
07-13 03:08:51.146: W/System.err(2973): at java.net.Socket.<init>(Socket.java:150)
07-13 03:08:51.146: W/System.err(2973): at net.sourceforge.jtds.jdbc.SharedSocket.<init>(SharedSocket.java:259)
07-13 03:08:51.146: W/System.err(2973): at net.sourceforge.jtds.jdbc.ConnectionJDBC2.<init>(ConnectionJDBC2.java:311)
07-13 03:08:51.146: W/System.err(2973): at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:187)
07-13 03:08:51.146: W/System.err(2973): at java.sql.DriverManager.getConnection(DriverManager.java:179)
07-13 03:08:51.146: W/System.err(2973): at java.sql.DriverManager.getConnection(DriverManager.java:213)
07-13 03:08:51.146: W/System.err(2973): at com.example.prova.Database.<init>(Database.java:28)
07-13 03:08:51.146: W/System.err(2973): at com.example.prova.Database.getDbCon(Database.java:44)
07-13 03:08:51.146: W/System.err(2973): at com.example.prova.MainActivity.onCreate(MainActivity.java:27)
07-13 03:08:51.146: W/System.err(2973): at android.app.Activity.performCreate(Activity.java:5231)
07-13 03:08:51.146: W/System.err(2973): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
07-13 03:08:51.146: W/System.err(2973): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
07-13 03:08:51.146: W/System.err(2973): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
07-13 03:08:51.146: W/System.err(2973): at android.app.ActivityThread.access$800(ActivityThread.java:135)
07-13 03:08:51.146: W/System.err(2973): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
07-13 03:08:51.146: W/System.err(2973): at android.os.Handler.dispatchMessage(Handler.java:102)
07-13 03:08:51.146: W/System.err(2973): at android.os.Looper.loop(Looper.java:136)
07-13 03:08:51.146: W/System.err(2973): at android.app.ActivityThread.main(ActivityThread.java:5017)
07-13 03:08:51.146: W/System.err(2973): at java.lang.reflect.Method.invokeNative(Native Method)
07-13 03:08:51.146: W/System.err(2973): at java.lang.reflect.Method.invoke(Method.java:515)
-
Domanda banale, hai impostato i permessi di accesso alla rete nel manifest?
In JDBC devi uitilizzare, nella classe per la connessione, lo username e la password del database a cui ti stai collegando
-
Quote:
Originariamente inviato da
giozh
Domanda banale, hai impostato i permessi di accesso alla rete nel manifest?
In JDBC devi uitilizzare, nella classe per la connessione, lo username e la password del database a cui ti stai collegando
Si Uso una classe di connessione con impostati i parametri di connessione anche se non sono sicuro che sia corretto perché il db Microsoft non mi chiede username ma solo la password io come username imposto vuoto perché il metodo getconnection non prevede solo la passord ma Url,username,password
codice:
DriverManager.getConnection(url, userName, password);
codice:
Database()
{
String url = "jdbc:jtds:sqlserver://localhost/D:/Dropbox/Programmazione/c#;"+"databaseName=dati.mdb;encrypt=false;";
String driver = "net.sourceforge.jtds.jdbc.Driver";
String userName = "";
String password = "gmpa";
try
{
Class.forName(driver).newInstance();
this.connectionObj = DriverManager.getConnection(url, userName, password);
}
catch (Exception sqle)
{
sqle.printStackTrace();
}
}