`
qiuguo0205
  • 浏览: 240955 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

groovy db GString 错误

阅读更多

下面是一段很简单的groovy显示某oracle数据库用户下所有表名的代码:

import groovy.sql.*;

db = Sql.newInstance(
		'jdbc:oracle:thin:@localhost:1521:orcl',
		'abc', 'abc', 'oracle.jdbc.driver.OracleDriver')

tablename = 'tab'
db.eachRow ("select tname from $tablename", {println it})

 

但是实际使用的时候会爆出这样的错误:

2011-5-11 12:21:55 groovy.sql.Sql eachRow
警告: Failed to execute: select tname from ? because: ORA-00903: invalid table name

Exception in thread "main" java.sql.SQLException: ORA-00903: invalid table name

	at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:111)
      ......

 

这个错误的本质是因为使用的是GString,而不是String,只需要将最后一句改为

db.eachRow ("select tname from $tablename".toString(), {println it})
即可

 

实际上,使用GString所报的错误不只这一种,也有可能是“无效的列索引”等错误。不过只要记住写入sql的时候把它变为String而非GString即可。

 

 

 

 

分享到:
评论

相关推荐

    groovy-3.0.9-API文档-中文版.zip

    赠送jar包:groovy-3.0.9.jar; 赠送原API文档:groovy-3.0.9-javadoc.jar; 赠送源代码:groovy-3.0.9-sources.jar; 赠送Maven依赖信息文件:groovy-3.0.9.pom; 包含翻译后的API文档:groovy-3.0.9-javadoc-API...

    apache-groovy-3.0.8.zip apache官网的groovy3.0.8版本

    apache-groovy-3.0.8.zip apache官网的groovy3.0.8版本,希望大家多多下载,apache-groovy-3.0.8.zip apache官网的groovy3.0.8版本,希望大家多多下载,apache-groovy-3.0.8.zip apache官网的groovy3.0.8版本,希望...

    [Groovy] Making Java Groovy 英文版

    Making Java Groovy is a practical handbook for developers who want to blend Groovy into their day to day work with Java It starts by introducing the key differences between Java and Groovy and how you...

    groovy入门经典,groovyeclipse 插件

    groovy入门经典,groovyeclipse 插件

    Java调用Groovy,实时动态加载数据库groovy脚本

    Java调用Groovy,实时动态加载数据库groovy脚本,java读取mongoDB的groovy脚本,加载实时运行,热部署

    Groovy DSL

    Groovy 是基于Java的脚本语言。是Java语言扩展,因此可以与Java语言互相调用。在所有基于JVM虚拟机的语言中只有Scala可以媲美。使用Groovy可以快速灵活完成文本处理,数据库访问,XML处理...越少的代码表明越少的错误。

    Groovy轻松入门—搭建Groovy开发环境

    Groovy轻松入门—搭建Groovy开发环境 Groovy轻松入门—搭建Groovy开发环境

    groovy-2.3.6-installer

    groovy-2.3.6-installer windows安装版本

    精通 Groovy--下一代开发语言

    什么是 Groovy? Groovy 是 JVM 的一个替代语言 — 替代 是指可以用 Groovy 在 Java 平台上进行 Java 编程,使用方式基本与使用 Java 代码的方式相同。在编写新应用程序时,Groovy 代码能够与 Java 代码很好地结合,...

    Groovy.in.Action.2nd.Edition.1935182

    Groovy in Action, Second Edition is the undisputed definitive reference on the Groovy language. Written by core members of the Groovy language team, this book presents Groovy like no other can—from ...

    Groovy学习笔记 PDF版

    Groovy

    groovy-3.0.7.msi

    groovy

    groovy eclipse plugin2

    groovy eclipse plugin2groovy eclipse plugin2groovy eclipse plugin2groovy eclipse plugin2groovy eclipse plugin2groovy eclipse plugin2groovy eclipse plugin2

    groovy和Java相互调用1

    Groovy 调用 Java 类groovy 调用 Java class 十分方便,只需要在类前导入该 Java 类,在 Groovy 代码中就可以无缝使用该

    Groovy-3.0.jar

    Groovy jar包 3.0.

    Eclipse Groovy插件

    Eclipse Groovy插件 Eclipse Groovy插件 Eclipse Groovy插件 Eclipse Groovy插件

    Groovy入门教程.doc

    Groovy 教程。简单的groovy教程。

    groovy-3.0.9-API文档-中英对照版.zip

    赠送jar包:groovy-3.0.9.jar; 赠送原API文档:groovy-3.0.9-javadoc.jar; 赠送源代码:groovy-3.0.9-sources.jar; 赠送Maven依赖信息文件:groovy-3.0.9.pom; 包含翻译后的API文档:groovy-3.0.9-javadoc-API...

    apache-groovy-sdk-2.4.11

    本文适合于不熟悉 Groovy,但想快速轻松地了解其基础知识的 Java开发人员。了解 Groovy 对 Java 语法的简化变形,学习 Groovy 的核心功能,例如本地集合、内置正则表达式和闭包。编写第一个 Groovy 类,然后学习如何...

Global site tag (gtag.js) - Google Analytics