JDBCÁ¬½ÓÖ´ÐÐMySQL´æ´¢¹ý³Ì±¨¿ÕÖ¸Õë»òȨÏÞ´íÎó
×î½üʹÓÃrootÓû§±àдÁ˼¸¸ö´æ´¢¹ý³Ì£¬µ«ÊÇʹÓÃÆÕͨÓû§Í¨¹ýJDBCÁ¬½ÓÖ´ÐÐÈ´±¨´í£º
java.lang.NullPointerException......
»ò
java.sql.SQLException: User does not have access to metadata required to determine stored procedure parameter types. If rights can not be granted, configure connection with "noAccessToProcedureBodies=true" to have driver generate parameters that represent INOUT strings irregardless of actual parameter types.
±¨Äĸö´íÒª¿´ÄãʹÓõÄConnector/J°æ±¾ÁË¡£
ÕâÊÇÒòΪJDBCµ÷Óô洢¹ý³ÌʱÐèÒªÓÐshow create procudure ȨÏÞ»òÊÇÓбímysql.procµÄselectȨÏÞ¡£Í¨¹ýÔÚJDBCÁ¬½ÓÊôÐÔÖÐÉèÖÃnoAccessToProcedureBodies=true(ĬÈÏfalse)½â¾ö»òÊÇÊÚÓèÆÕͨÓû§ÏàÓ¦µÄȨÏÞ»òÕßÊǰ´http://lists.mysql.com/commits/17817ÖеÄpatchÐ޸ġ£
¸ÃnoAccessToProcedureBodies=trueµÄÓ°Ï죺
1. µ÷Óô洢¹ý³Ìʱ£¬½«Ã»ÓÐÀàÐͼì²é£¬ÉèΪ×Ö·û´®ÀàÐÍ£¬²¢ÇÒËùÓеIJÎÊýÉèΪinÀàÐÍ£¬µ«ÊÇÔÚµ÷ÓÃregisterOutParameterʱ£¬²»Å׳öÒì³£¡£
2. ´æ´¢¹ý³ÌµÄ²éѯ½á¹ûÎÞ·¨Ê¹ÓÃgetXXX(String parameterName)µÄÐÎʽ»ñÈ¡£¬Ö»ÄÜͨ¹ýgetXXX(int parameterIndex)µÄ·½Ê½»ñÈ¡¡£
²Î¿¼£º
http://bugs.mysql.com/bug.php?id=20235
http://bugs.mysql.com/bug.php?id=24065
Ïà¹ØÎĵµ£º
¶ÔÓÚÿ¸öÀàÐÍÓµÓеÄÖµ·¶Î§ÒÔ¼°²¢ÇÒÖ¸¶¨ÈÕÆÚºÎʱ¼äÖµµÄÓÐЧ¸ñʽµÄÃèÊö¼û7.3.6 ÈÕÆÚºÍʱ¼äÀàÐÍ¡£
ÕâÀïÊÇÒ»¸öʹÓÃÈÕÆÚº¯ÊýµÄÀý×Ó¡£ÏÂÃæµÄ²éѯѡÔñÁËËùÓмǼ£¬Æädate_colµÄÖµÊÇÔÚ×îºó30ÌìÒÔÄÚ£º
mysql> SELECT something from table
WHERE TO_DAYS(NOW())&nbs ......
¶¨ÒåÓαê
DECLARE cur_Ãû³Æ CURSOR
FOR
SELECT ×Ö¶Î1,×Ö¶Î2,...×Ö¶În from ±í where ×Ö¶Î1=±äÁ¿;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET ±äÁ¿1=null,±äÁ¿2=null;
OPEN cur_Ãû³Æ;
FETCH cur_Ãû³Æ INTO ±äÁ¿1,±äÁ¿2...;
WHILE ( ±äÁ¿1 IS NOT NULL) DO
&nbs ......
×¢£º±¾ÎÄÌÖÂ۵ķ¶Î§ÎªÎ´ÆôÓÃMAXDBģʽµÄ±í£¡
½ñÌ콨ÁËÒ»¸ö±í£¬ÀïÃæÓÐÒ»¸öÁÐÊÇtimestampÀàÐÍ£¬ÎÒ±¾ÒâÊÇÔÚÊý¾Ý¸üÐÂʱ£¬Õâ¸ö×ֶεÄʱ¼äÄÜ×Ô¶¯¸üС£ÆñÖª¶ÔÕâ¸öÀàÐ͵ÄÖµ»¹²»ÉõÁ˽⣬µ¼Ö³ö´í¡£·¢ÏÖÕâ¸ö×Ö¶ÎÖ»ÊÇÔÚÕâÐÐÊý¾Ý½¨Á¢µÄʱºòÓÐÖµ£¬ÔÚ¸üеÄÈ´Îޱ仯¡£
²éÕÒ×ÊÁÏ£¬·¢ÏÖÊÇÎÒ ......
¼Ù¶¨±ítbl_name¾ßÓÐÒ»¸öPRIMARY KEY»òUNIQUEË÷Òý£¬±¸·ÝÒ»¸öÊý¾Ý±íµÄ¹ý³ÌÈçÏ£º
1¡¢Ëø¶¨Êý¾Ý±í£¬±ÜÃâÔÚ±¸·Ý¹ý³ÌÖУ¬±í±»¸üÐÂ
mysql>LOCK
TABLES READ tbl_name;
¹ØÓÚ±íµÄËø¶¨µÄÏêϸÐÅÏ¢£¬½«ÔÚÏÂÒ»Õ½éÉÜ¡£
2¡¢µ¼³öÊý¾Ý
mysql>SELECT
* INTO OUTFILE ‘tbl_name.bak’ from tbl_name;
3¡¢½âË ......
ÈçºÎµ¼Èë.sqlÎļþµ½mysqlÖУ¿
C:\mysql\bin>mysql -u Óû§Ãû -p Êý¾Ý¿âÃû < c:/test.sql (source "c:\adsense.sql" )
ÖмäµÄ¿Õ¸ñÊÇÒ»¸ö¿Õ¸ñλ¡£
ͬʱʹÓÃ200¶àMBµÄsqlÎļþ¡£
ÀýÈ磺
C:\Program Files\MySQL\bin>mysql -u root -p myrosz & ......