Ma configuration:
J'ai essayé:
try {
Class.forName("com.Microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
con = DriverManager.getConnection("jdbc:Microsoft:sqlserver://localhost:1433/SQLEXPRESS2008;databaseName=Test;selectMethod=cursor", "sa", "");
}
catch (Exception e) {
e.printStackTrace();
}
Mais cela lève toujours une exception:
Java.sql.SQLException: No suitable driver
J'ai également essayé les URL suivantes:
localhost:1433/SQLEXPRESS2008
localhost/SQLEXPRESS2008
localhost
Mêmes résultats. De l'aide?
Vous avez la mauvaise URL.
Je ne sais pas ce que vous entendez par "JDBC 2005". Quand j'ai regardé sur le site Microsoft, j'ai trouvé quelque chose appelé Microsoft SQL Server JDBC Driver 2. . Vous allez vouloir celui-là - il comprend de nombreuses corrections et quelques améliorations de performances. [modifier: vous voudrez probablement le dernier pilote. Depuis mars 2012, le dernier pilote JDBC de Microsoft est JDBC 4.0]
Consultez les notes de version. Pour ce pilote, vous souhaitez:
URL: jdbc:sqlserver://server:port;DatabaseName=dbname
Class name: com.Microsoft.sqlserver.jdbc.SQLServerDriver
Il semble que le nom de la classe soit correct, mais l'URL est incorrecte.
Microsoft a changé le nom de classe et l'URL après sa version initiale d'un pilote JDBC. L'URL que vous utilisez va avec le pilote JDBC d'origine de Microsoft, celui que MS appelle la "version SQL Server 2000". Mais ce pilote utilise un nom de classe différent.
Pour tous les pilotes suivants, l'URL a changé pour le formulaire que j'ai ici.
Cela se trouve dans les notes de publication du pilote JDBC.
Si votre valeur databaseName
est correcte, utilisez-la: DriverManger.getconnection("jdbc:sqlserver://ServerIp:1433;user=myuser;password=mypassword;databaseName=databaseName;")
sqljdbc4.0
) à partir du site Web de MicrosoftÉcrivez le programme comme suit:
import Java.sql.*;
class testmssql
{
public static void main(String args[]) throws Exception
{
Class.forName("com.Microsoft.sqlserver.jdbc.SQLServerDriver");
Connection con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;
databaseName=chapter16","sa","123");//repalce your databse name and user name
Statement st=con.createStatement();
ResultSet rs=st.executeQuery("Select * from login");//replace your table name
while(rs.next())
{
String s1=rs.getString(1);
String s2=rs.getString(2);
System.out.println("UserID:"+s1+"Password:"+s2);
}
con.close();
}
}
Compilez le programme et définissez le chemin d'accès aux classes jar: set classpath=C:\jdbc\sqljdbc4.jar;.;
Si vous avez enregistré votre fichier jar
dans C:\jdbc
après téléchargement et extraction.
Le dernier pilote de connectivité JDBC MSSQL se trouve sur JDBC 4.
Le fichier de classe doit se trouver dans le chemin de classe. Si vous utilisez Eclipse, vous pouvez facilement faire de même en procédant comme suit ->
Cliquez avec le bouton droit sur le nom du projet -> Propriétés -> Java Build Path -> Libraries -> Add External Jars
Comme déjà indiqué par @Cheeso, la manière correcte d'accéder est jdbc: sqlserver: // server: port; DatabaseName = dbname
En attendant, veuillez trouver un exemple de classe pour accéder à MSSQL DB (2008 dans mon cas).
import Java.sql.Connection;
import Java.sql.DriverManager;
import Java.sql.ResultSet;
import Java.sql.Statement;
public class ConnectMSSQLServer
{
public void dbConnect(String db_connect_string,
String db_userid,
String db_password)
{
try {
Class.forName("com.Microsoft.sqlserver.jdbc.SQLServerDriver");
Connection conn = DriverManager.getConnection(db_connect_string,
db_userid, db_password);
System.out.println("connected");
Statement statement = conn.createStatement();
String queryString = "select * from SampleTable";
ResultSet rs = statement.executeQuery(queryString);
while (rs.next()) {
System.out.println(rs.getString(1));
}
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args)
{
ConnectMSSQLServer connServer = new ConnectMSSQLServer();
connServer.dbConnect("jdbc:sqlserver://xx.xx.xx.xxxx:1433;databaseName=MyDBName", "DB_USER","DB_PASSWORD");
}
}
J'espère que cela t'aides.
Instances nommées?
URL: jdbc: sqlserver: // [nom_serveur] [\ nomInstance] [: numéroPort] [; propriété = valeur]
Remarque: barre oblique inverse