2011-06-13 196 views
1

我正尝试使用Jasper报告生成一些报告给我的系统。我起诉基本JDBC连接方法来建立我的SQL Server 2000中的连接下面是我的代码片段:JDBC | SQL Server连接错误

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

但我发现了一个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) 

谢谢。

+2

什么是connectString? – Dave 2011-06-13 09:31:25

+1

我认为您的摘录之上的那一行会很有趣,因为它是指示实际发生的异常的地方。 – 2011-06-13 09:37:01

回答

1

你得到的异常的第一行说:

​​

检查,看看你有“|”在你的来源。如有疑问请试试这些:

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

确保您的罐子放在正确的地方。

+0

我同意。我认为海报有错误的连接字符串 – MJB 2011-06-14 07:35:30