Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/datadb"; Connection con = DriverManager.getConnection(url,"root",""); System.out.println("Linked"+'\n'+con.toString()); Statement sqlStatement=con.createStatement(); ResultSet result=sqlStatement.executeQuery("SELECT * FROM 实验数据");不加``时出错信息 java.sql.SQLException: General error, message from server: "Table 'datadb.实' doesn't exist" at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:1613) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:880) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:939) at com.mysql.jdbc.MysqlIO.sqlQuery(MysqlIO.java:911) at com.mysql.jdbc.Connection.execSQL(Connection.java:1777) at com.mysql.jdbc.Connection.execSQL(Connection.java:1711) at com.mysql.jdbc.Statement.executeQuery(Statement.java:1203) at TestJDBC.main(TestJDBC.java:20) 加``时出错信息 ava.sql.SQLException: Syntax error or access violation, message from server: "You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '? at line 1" at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:1613) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:880) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:939) at com.mysql.jdbc.MysqlIO.sqlQuery(MysqlIO.java:911) at com.mysql.jdbc.Connection.execSQL(Connection.java:1777) at com.mysql.jdbc.Connection.execSQL(Connection.java:1711) at com.mysql.jdbc.Statement.executeQuery(Statement.java:1203) at TestJDBC.main(TestJDBC.java:20) my.ini的内容 #This File was made using the WinMySQLAdmin 1.4 Tool #2003-2-14 12:58:52#Uncomment or Add only the keys that you know how works. #Read the MySQL Manual for instructions[mysqld] basedir=D:/mysql #bind-address=127.0.0.1 datadir=D:/mysql/data #language=D:/mysql/share/your language directory #slow query log#= #tmpdir#= #port=3306 #set-variable=key_buffer=16M default-character-set =gb2312 log=d:/mysql/log.log [WinMySQLadmin] Server=D:/mysql/bin/mysqld-max-nt.exe user= password= QueryInterval=10
检查你的 Java 程序的字符集设置
Java程序的字符集设置?Java不是用Unicode吗?
我用System.getProperties()得到的结果 java.runtime.name=Java(TM) 2 Runtime Environment, Standard Edition sun.boot.library.path=D:\j2sdk1.4.1\jre\bin java.vm.version=1.4.1-b21 java.vm.vendor=Sun Microsystems Inc. java.vendor.url=http://java.sun.com/ path.separator=; java.vm.name=Java HotSpot(TM) Client VM file.encoding.pkg=sun.io user.country=CN sun.os.patch.level=Service Pack 1 java.vm.specification.name=Java Virtual Machine Specification user.dir=E:\Documents\maple8282\My Documents\Programming\Java\testpackage java.runtime.version=1.4.1-b21 java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment java.endorsed.dirs=D:\j2sdk1.4.1\jre\lib\endorsed os.arch=x86 java.io.tmpdir=H:\Temp\MAPLE8~1\ line.separator=java.vm.specification.vendor=Sun Microsystems Inc. user.variant= os.name=Windows XP sun.java2d.fontpath= java.library.path=D:\j2sdk1.4.1\bin;.;C:\WINNT\System32;C:\WINNT;C:\WINNT\system32;C:\WINNT;C:\WINNT\system32\WBEM;C:\WINNT\system32;C:\WINNT;C:\WINNT\system32\WBEM;D:\Program Files\UltraEdit java.specification.name=Java Platform API Specification java.class.version=48.0 java.util.prefs.PreferencesFactory=java.util.prefs.WindowsPreferencesFactory os.version=5.1 user.home=C:\Documents and Settings\maple8282 user.timezone=Asia/Shanghai java.awt.printerjob=sun.awt.windows.WPrinterJob file.encoding=GBK java.specification.version=1.4 user.name=maple8282 java.class.path=E:\Documents\maple8282\My Documents\Programming\Java\testpackage;. java.vm.specification.version=1.0 sun.arch.data.model=32 java.home=D:\j2sdk1.4.1\jre java.specification.vendor=Sun Microsystems Inc. user.language=zh awt.toolkit=sun.awt.windows.WToolkit java.vm.info=mixed mode java.version=1.4.1 java.ext.dirs=D:\j2sdk1.4.1\jre\lib\ext sun.boot.class.path=D:\j2sdk1.4.1\jre\lib\rt.jar;D:\j2sdk1.4.1\jre\lib\i18n.jar;D:\j2sdk1.4.1\jre\lib\sunrsasign.jar;D:\j2sdk1.4.1\jre\lib\jsse.jar;D:\j2sdk1.4.1\jre\lib\jce.jar;D:\j2sdk1.4.1\jre\lib\charsets.jar;D:\j2sdk1.4.1\jre\classes java.vendor=Sun Microsystems Inc. file.separator=\ java.vendor.url.bug=http://java.sun.com/cgi-bin/bugreport.cgi sun.cpu.endian=little sun.io.unicode.encoding=UnicodeLittle sun.cpu.isalist=pentium i486 i386
default-character-set =gb2312
总是不太相信,按理说应该报 *.实验数据 表不存在 呀,
将 my.ini 内容\出错信息\最好代码一起帖出来瞧瞧
String url = "jdbc:mysql://localhost:3306/datadb";
Connection con = DriverManager.getConnection(url,"root","");
System.out.println("Linked"+'\n'+con.toString());
Statement sqlStatement=con.createStatement();
ResultSet result=sqlStatement.executeQuery("SELECT * FROM 实验数据");不加``时出错信息
java.sql.SQLException: General error, message from server: "Table 'datadb.实' doesn't exist"
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:1613)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:880)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:939)
at com.mysql.jdbc.MysqlIO.sqlQuery(MysqlIO.java:911)
at com.mysql.jdbc.Connection.execSQL(Connection.java:1777)
at com.mysql.jdbc.Connection.execSQL(Connection.java:1711)
at com.mysql.jdbc.Statement.executeQuery(Statement.java:1203)
at TestJDBC.main(TestJDBC.java:20)
加``时出错信息
ava.sql.SQLException: Syntax error or access violation, message from server: "You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '? at line 1"
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:1613)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:880)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:939)
at com.mysql.jdbc.MysqlIO.sqlQuery(MysqlIO.java:911)
at com.mysql.jdbc.Connection.execSQL(Connection.java:1777)
at com.mysql.jdbc.Connection.execSQL(Connection.java:1711)
at com.mysql.jdbc.Statement.executeQuery(Statement.java:1203)
at TestJDBC.main(TestJDBC.java:20)
my.ini的内容
#This File was made using the WinMySQLAdmin 1.4 Tool
#2003-2-14 12:58:52#Uncomment or Add only the keys that you know how works.
#Read the MySQL Manual for instructions[mysqld]
basedir=D:/mysql
#bind-address=127.0.0.1
datadir=D:/mysql/data
#language=D:/mysql/share/your language directory
#slow query log#=
#tmpdir#=
#port=3306
#set-variable=key_buffer=16M
default-character-set =gb2312
log=d:/mysql/log.log
[WinMySQLadmin]
Server=D:/mysql/bin/mysqld-max-nt.exe
user=
password=
QueryInterval=10
java.runtime.name=Java(TM) 2 Runtime Environment, Standard Edition
sun.boot.library.path=D:\j2sdk1.4.1\jre\bin
java.vm.version=1.4.1-b21
java.vm.vendor=Sun Microsystems Inc.
java.vendor.url=http://java.sun.com/
path.separator=;
java.vm.name=Java HotSpot(TM) Client VM
file.encoding.pkg=sun.io
user.country=CN
sun.os.patch.level=Service Pack 1
java.vm.specification.name=Java Virtual Machine Specification
user.dir=E:\Documents\maple8282\My Documents\Programming\Java\testpackage
java.runtime.version=1.4.1-b21
java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment
java.endorsed.dirs=D:\j2sdk1.4.1\jre\lib\endorsed
os.arch=x86
java.io.tmpdir=H:\Temp\MAPLE8~1\
line.separator=java.vm.specification.vendor=Sun Microsystems Inc.
user.variant=
os.name=Windows XP
sun.java2d.fontpath=
java.library.path=D:\j2sdk1.4.1\bin;.;C:\WINNT\System32;C:\WINNT;C:\WINNT\system32;C:\WINNT;C:\WINNT\system32\WBEM;C:\WINNT\system32;C:\WINNT;C:\WINNT\system32\WBEM;D:\Program Files\UltraEdit
java.specification.name=Java Platform API Specification
java.class.version=48.0
java.util.prefs.PreferencesFactory=java.util.prefs.WindowsPreferencesFactory
os.version=5.1
user.home=C:\Documents and Settings\maple8282
user.timezone=Asia/Shanghai
java.awt.printerjob=sun.awt.windows.WPrinterJob
file.encoding=GBK
java.specification.version=1.4
user.name=maple8282
java.class.path=E:\Documents\maple8282\My Documents\Programming\Java\testpackage;.
java.vm.specification.version=1.0
sun.arch.data.model=32
java.home=D:\j2sdk1.4.1\jre
java.specification.vendor=Sun Microsystems Inc.
user.language=zh
awt.toolkit=sun.awt.windows.WToolkit
java.vm.info=mixed mode
java.version=1.4.1
java.ext.dirs=D:\j2sdk1.4.1\jre\lib\ext
sun.boot.class.path=D:\j2sdk1.4.1\jre\lib\rt.jar;D:\j2sdk1.4.1\jre\lib\i18n.jar;D:\j2sdk1.4.1\jre\lib\sunrsasign.jar;D:\j2sdk1.4.1\jre\lib\jsse.jar;D:\j2sdk1.4.1\jre\lib\jce.jar;D:\j2sdk1.4.1\jre\lib\charsets.jar;D:\j2sdk1.4.1\jre\classes
java.vendor=Sun Microsystems Inc.
file.separator=\
java.vendor.url.bug=http://java.sun.com/cgi-bin/bugreport.cgi
sun.cpu.endian=little
sun.io.unicode.encoding=UnicodeLittle
sun.cpu.isalist=pentium i486 i386