skzr.org 发表于 2013-2-7 04:41:51

mysql dump.sql大小写转换

案例:
从公司的mysql导出数据库后,在linux下导入mysql,应用程序sql语句大小写导致的问题:
 

[*]导出mysql(windows): mysqldump -h host -u userName -p password>dump.sql
[*]linux下导入到mysql:
mysql -u root -p
mysql>source ~/dump.sql
[*]运行程序发现报错:linux下表名区分大小写导致所有的sql不正常(应用中都是大写的sql)
[*]写代码解决此问题public static void main(String[] args) throws IOException {BufferedReader reader = new BufferedReader(new FileReader("/home/skzrorg/dump.sql"));BufferedWriter writer = new BufferedWriter(new FileWriter("/home/skzrorg/dump2.sql"));System.out.println("开始转换");try {Pattern pattern = Pattern.compile("`\\w+`");StringBuffer buf = new StringBuffer();while(reader.ready()) {buf.setLength(0);String v = reader.readLine();Matcher matcher = pattern.matcher(v);while(matcher.find()) {matcher.appendReplacement(buf, matcher.group().toUpperCase());}matcher.appendTail(buf).append("\r\n");writer.write(buf.toString());}System.out.println("成功转换");} finally {writer.close();}} 
 
页: [1]
查看完整版本: mysql dump.sql大小写转换