2011-06-13 4 views
1

J'essaie de générer des rapports sur mon système à l'aide de rapports Jasper. Je poursuit la méthode de connexion JDBC de base pour établir une connexion à mon SQL Server 2000. Voici mon extrait de code:JDBC | Erreur de connexion SQL Server

public static Connection getConnection()throws ClassNotFoundException, SQLException 
{ 
    Class.forName(driver); 
    Connection conn = DriverManager.getConnection(connectString, user, password); 
    return conn; 
} 

Mais je deviens une exception syntaxe incorrecte SQL.

Caused by: java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]Line 2: Incorrect syntax near '|'. 
    at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source) 
    at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source) 
    at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processErrorToken(Unknown Source) 
    at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReplyToken(Unknown Source) 
    at com.microsoft.jdbc.sqlserver.tds.TDSExecuteRequest.processReplyToken(Unknown Source) 
    at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown Source) 
    at com.microsoft.jdbc.sqlserver.SQLServerImplStatement.getNextResultType(Unknown Source) 
    at com.microsoft.jdbc.base.BaseStatement.commonTransitionToState(Unknown Source) 
    at com.microsoft.jdbc.base.BaseStatement.postImplExecute(Unknown Source) 
    at com.microsoft.jdbc.base.BasePreparedStatement.postImplExecute(Unknown Source) 
    at com.microsoft.jdbc.base.BaseStatement.commonExecute(Unknown Source) 
    at com.microsoft.jdbc.base.BaseStatement.executeQueryInternal(Unknown Source) 
    at com.microsoft.jdbc.base.BasePreparedStatement.executeQuery(Unknown Source) 
    at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:478) 

Merci.

+2

Qu'est-ce que connectString? – Dave

+1

Je pense que la ligne juste au-dessus de votre extrait serait intéressante, puisque c'est là que l'exception qui se passe réellement est indiquée. –

Répondre

1

La première ligne de l'exception que vous obtenez dit:

Line 2: Incorrect syntax near '|'. 

Vérifiez pour voir où vous avez le « | » dans votre source. En cas de doute essayer ces:

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); 
conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433", user, password); 

Assurez-vous également que vos pots sont au bon endroit.

+0

Je suis d'accord. Je pense que l'affiche a alimenté la mauvaise chaîne de connexion – MJB