vicky5 Δημοσ. 13 Απριλίου 2011 Δημοσ. 13 Απριλίου 2011 Καλησπερα παιδια.Εχω ενα προβλημα με την sql το οποιο ψαχνω απο χτες με ελαχιστα αποτελεσματα. Γραφω μια βαση σε mysql express 2005 και θελω να τη χειριστω απο το netbeans με java. συμωψνα με το tutorial αυτο εβαλα μεσα το LibrarieLink πλεον ο κωδικας ειναι αυτος try{ Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); String connectionUrl = "jdbc:sqlserver://localhost:1433;" + "databaseName=StockData;user=VICKY-5D3A9BC93//SQLEXPRESS//vicky;"; Connection conn=DriverManager.getConnection(connectionUrl); } catch (ClassNotFoundException e){ System.out.println(e); } catch (SQLException e){ System.out.println(e); } αλλα μου πεταει συνεχεια exception com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host has failed. java.net.ConnectException: Connection refused: connect κανω κατι λαθος??? Το authentication στην sql ειναι windows authentication Μηπως εδω ειναι το προβλημα?
gitane Δημοσ. 13 Απριλίου 2011 Δημοσ. 13 Απριλίου 2011 Καλησπέρα Δεν ξέρω αν τα έχεις γραψει όλα σωστά, αλλά αν έχεις Windows Authentication δεν πρέπει να δώσεις χρήστη: Ο SQL Server τον ερμηνεύει σαν database χρήστη, οπότε περιμένει να δώσεις και password. Άρα έχεις δύο δρόμους: 1. Κάνεις login με χρήστη που έχει πρόσβαση στον SQL Server και παραλείπεις το username στο connect string ή 2. φτιάχνεις έναν χρήστη στον SQL Server (τοπικό, όχι Windows Authenticated) και δίνεις username και password στο connect string
vicky5 Δημοσ. 13 Απριλίου 2011 Μέλος Δημοσ. 13 Απριλίου 2011 επιμενει να λεει το ιδιο ακριβως πραγμα..πλεον ο κωδικας ειναι αυτος try{ Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); String connectionUrl = "jdbc:sqlserver://localhost:1433;" + "databaseName=StockData;user=sasa;password=12345;"; Connection conn=DriverManager.getConnection(connectionUrl); } catch (ClassNotFoundException e){ System.out.println(e); } catch (SQLException e){ System.out.println(e); }
Tmark Δημοσ. 13 Απριλίου 2011 Δημοσ. 13 Απριλίου 2011 Είσαι σίγουρη ότι το service του SQL Server είναι started?
vicky5 Δημοσ. 13 Απριλίου 2011 Μέλος Δημοσ. 13 Απριλίου 2011 nai einai state running...το ειδα απο το sql server configuration...
Tmark Δημοσ. 13 Απριλίου 2011 Δημοσ. 13 Απριλίου 2011 O user αυτός user=VICKY-5D3A9BC93//SQLEXPRESS//vicky δεν έχει κωδικό?
vicky5 Δημοσ. 13 Απριλίου 2011 Μέλος Δημοσ. 13 Απριλίου 2011 Ο user αυτος ηταν στο windows authentication...εφτιαξα ενα στο sql authentication με στοιχεια sasa και password=12345 .... String connectionUrl = "jdbc:sqlserver://localhost:1433;" + "databaseName=StockData;user=sasa;password=12345;"; Connection conn=DriverManager.getConnection(connectionUrl); το StockData ειναι η βαση που εχω δημιουργησει...κατι συμβαινει στο localhost:1433 Νομιζω αλλα δεν καταλαβαινω το τι
vicky5 Δημοσ. 14 Απριλίου 2011 Μέλος Δημοσ. 14 Απριλίου 2011 το προβλημα το ελυσα...καποιο προβλημα που δεν ξερω τι ακριβως μου δημιουργουσε με το password στο sql authentication...Ενω ειχα βάλει user sasa εδειχνε οτι ειναι κενο...μολιςεβαλα να μπαινει με windows authentication μπηκε κανονικα
vicky5 Δημοσ. 8 Μαΐου 2011 Μέλος Δημοσ. 8 Μαΐου 2011 επανερχομαι με ενα ακομα προβλημα >public void sendResultToClient() { try { ResultSet result = stn.executeQuery(code); if (result.next() == true) { String customerID=result.getString(1); System.out.println("i vicky exei id"+customerID); String s = "SELECT Stock.Name FROM Customer INNER JOIN Customer_Stock ON Customer.CustomerID = Customer_Stock.CustomerID INNER JOIN Stock ON Customer_Stock.StockID = Stock.StockID WHERE Customer.CustomerID='1'"; ResultSet result1 = stn.executeQuery(s); ResultSetMetaData rmeta = result1.getMetaData(); System.out.println("exw epistrepsei " + rmeta.getColumnCount()); String s1 = "SELECT Stock.Name FROM Customer INNER JOIN Customer_Stock ON Customer.CustomerID = Customer_Stock.CustomerID INNER JOIN Stock ON Customer_Stock.StockID = Stock.StockID WHERE Customer.CustomerID='1'"; ResultSet result2 = stn.executeQuery("SELECT Message.Message, Message.CustomerName FROM Customer INNER JOIN Message ON Customer.CustomerID = Message.CustomerID WHERE Customer.CustomerID='1'"); //while( result2.next()==true) // System.out.println("i metoxi mou einai"+result2.getString(2)); while( result1.next()==true) System.out.println("i metoxi mou einai"+result1.getString(1)); pass = true; } else { pass = false; } System.out.println("ston server to pas einai" + pass); myOutputStream.writeObject(pass); myOutputStream.flush(); } catch (IOException e) { e.printStackTrace(); } catch (SQLException e) { System.out.println(e); } } } αυτο ειναι ενα κομματι κωδικα το οποιο κανει 3 ερωτησεις στη βαση μου...το προβλημα μου ειναι το εξης... εχω 3 ερωτηματα μεσα στον κωδικα το result,result1 και το result2 Που ειναι μεσα σε σχολιο...οταν το τρεχω ετσι με σχολιο τρεχει κανονικα τα 2 ερωτηματα..οταν παω να τρεξω το 3 μου πεταει exception java.sql.SQLException: ResultSet is closed ...ποιος το εκλεισε? κανω κατι λαθος ?εγω δεν κανω πουθενα close . το exception αν ξεσχολιασω το πεταει στο while( result1.next()==true)
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.