[java] JDBC error establishing socket

Pagina: 1
Acties:
  • 58 views sinds 30-01-2008

  • MMUilwijk
  • Registratie: Oktober 2001
  • Laatst online: 15:40
Goedenavond,

Ik probeer al de hele avond een connectie te maken in Java m.b.v.
Microsoft SQL Server 2000 Driver for JDBC.
Ik krijg echter steeds de error:
[Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket

Dit treedt alleen op als ik gebruik maak van een applet :S

in dit topic ([rml][ JSP / MSSQL] Remote Connection MS SQL DB[/rml]) wordt hetzelfde probleem aangekaart, echter de oplossing werkt niet. Ook de diverse oplossingen op google verhelpen mijn probleem niet.

De volgende code gebruik ik:
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
try
        {
        Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
            try
            {
                Connection conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433","","");
                if (conn != null) {
                                   JOptionPane.showMessageDialog(null, "Connectie geslaagd!");
                                }
                                else {
                                    JOptionPane.showMessageDialog(null, "Connectie niet geslaagd!");
                                }
            }
            catch (SQLException se) {
                            //JOptionPane.showMessageDialog(null, "SQL Exception!");
                            System.err.println("SQL Exception :" + se.getMessage());
                        }
                            
        }
    
        catch (ClassNotFoundException e) {
            JOptionPane.showMessageDialog(null, "Klasse niet gevonden!");
        }


Heeft iemand enig idee voor dit probleem? Ik heb ook reeds de standaard JDBC ODBC driver van sun geprobeerd, maar die werkt weer niet in applets. Ook het wijzigen van de poort van SQL Server, TCP/IP binnen SQL Server enablen en het aanmaken van nieuwe accounts biedt geen soulaas.

Ondersteunende info:

- OS : Windows XP SP1
- DBMS : MSSQL Server 2000 Developer Edition SP1
- Driver : SQL Server 2000 Driver for JDBC SP3
- Geen firewall o.i.d.
- Overige connecties (PHP e.d.) gaan prima

[ Voor 58% gewijzigd door MMUilwijk op 27-11-2004 00:42 ]

Everytime I suffer I become a better man because of it


  • Gert
  • Registratie: Juni 1999
  • Laatst online: 05-12-2025
Hoewel ik dacht dat een security fout er anders uitziet zou het kunnen zijn dat je geen connectie mag maken met de huidige security settings Een applet mag standaard veel minder dan een applicatie. Ik denk dat google daar wel wat over weet te vertellen.

  • MMUilwijk
  • Registratie: Oktober 2001
  • Laatst online: 15:40
Ik kom er net achter dat een applicatieform inderdaad wel gewoon netjes werkt. Het heeft dus zeer zeker te maken met de applet. Ik ga op zoek naar het signen van applets! Bedankt voor het zetje in de juiste richting!

Everytime I suffer I become a better man because of it


  • momania
  • Registratie: Mei 2000
  • Laatst online: 19:40

momania

iPhone 30! Bam!

Vanuit een Applet heb je een policy nodig om verbinding te mogen maken naar een database ;)

Neem je whisky mee, is het te weinig... *zucht*


Verwijderd

Hoi mensen,

Excusses dat ik een oude topic weer naar boven haal maar ik krijg telkens het genoemde probleem. het gaat hier niet om een web applicatie of applet maar een normale java applicatie.

dit is de source code:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
import java.*;
public class Connect{
     private java.sql.Connection  con = null;
     private final String url = "jdbc:microsoft:sqlserver://";
     private final String serverName= "localhost";
     private final String portNumber = "1433";
     private final String databaseName= "";
     private final String userName = "sa";
     private final String password = "";
     // Informs the driver to use server a side-cursor, 
     // which permits more than one active statement 
     // on a connection.
     private final String selectMethod = "cursor"; 
     
     // Constructor
     public Connect(){}
     
     private String getConnectionUrl(){
          return url+serverName+":"+portNumber+";databaseName="+databaseName+";selectMethod="+selectMethod+";";
     }
     
     private java.sql.Connection getConnection(){
          try{
               Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); 
               con = java.sql.DriverManager.getConnection(getConnectionUrl(),userName,password);
               if(con!=null) System.out.println("Connection Successful!");
          }catch(Exception e){
               e.printStackTrace();
               System.out.println("Error Trace in getConnection() : " + e.getMessage());
         }
          return con;
      }

     /*
          Display the driver properties, database details 
     */ 

     public void displayDbProperties(){
          java.sql.DatabaseMetaData dm = null;
          java.sql.ResultSet rs = null;
          try{
               con= this.getConnection();
               if(con!=null){
                    dm = con.getMetaData();
                    System.out.println("Driver Information");
                    System.out.println("\tDriver Name: "+ dm.getDriverName());
                    System.out.println("\tDriver Version: "+ dm.getDriverVersion ());
                    System.out.println("\nDatabase Information ");
                    System.out.println("\tDatabase Name: "+ dm.getDatabaseProductName());
                    System.out.println("\tDatabase Version: "+ dm.getDatabaseProductVersion());
                    System.out.println("Avalilable Catalogs ");
                    rs = dm.getCatalogs();
                    while(rs.next()){
                         System.out.println("\tcatalog: "+ rs.getString(1));
                    } 
                    rs.close();
                    rs = null;
                    closeConnection();
               }else System.out.println("Error: No active Connection");
          }catch(Exception e){
               e.printStackTrace();
          }
          dm=null;
     }     
     
     private void closeConnection(){
          try{
               if(con!=null)
                    con.close();
               con=null;
          }catch(Exception e){
               e.printStackTrace();
          }
     }
     public static void main(String[] args) throws Exception
       {
          Connect myDbTest = new Connect();
          myDbTest.displayDbProperties();
       }
}


Ik heb msbase.jar, mssqlserver.jar en msutil.jar in de classpath gezet maar helaas krijg ik telkens hetzelfde probleem.

Weet iemand misschien hoe ik dit op kan lossen?

  • whoami
  • Registratie: December 2000
  • Nu online
Tja, hier open je toch echt beter een nieuw topic voor.
Dit zal trouwens in 't eerste op zicht iets met de security instelling van Sql Server te maken hebben.
Ga eens na of de nodige accounts de juiste rechten hebben op de DB.

https://fgheysels.github.io/

Pagina: 1

Dit topic is gesloten.