java.sql.SQLException: ORA-00917: 缺失逗号

在写一个jdbc链接Oracle操作数据库的小测试时, 遇到 java.sql.SQLException: ORA-00917: 缺失逗号

这个错误信息不只是缺了逗号,还可以是少一个括号, 或者缺了单引号(还有其他情况欢迎补充).

博主遇到的是缺了两个单引号, 想想你在写Oracle存储过程的时候, 如果插入一个字符串, 是不是需要用单引号将这个字符串的值包起来?


为了不产生歧义,这里给出具体代码与改正

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
/***
 * 
 * @Title: DBConnect
 * @Description: java.sql.SQLException: ORA-00917: 缺失逗号  实例代码
 * @author csdn libertine1993
 * @date 2015年8月27日 下午3:48:19
 */
public class DBConnect {
	public static void main(String[] args){
		String dbURL = "jdbc:oracle:thin:@主机IP:端口号:数据库名";
		String username = "un";
		String password = "pw";
		try{
		    //load driver
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
			Connection cn = DriverManager.getConnection(dbURL, username, password);
			Statement sm = cn.createStatement();
			
			String testStr = "test insert";
			//SQL code
			sm.execute(
					   "insert into A_TEST(F_CONTENT) values(" +
			            testStr+//错就在这里,漏了单引号 应该改为"'" + testStr + "'"
			            ")"
					  );
			
		}
		catch(Exception e){
		    System.out.println(e.toString());
		}
		
	}
}




你可能感兴趣的:(sql,jdbc,ORA-00917)