运行本机查询时,在休眠中使用“Go”关键字eRROR

时间:2013-09-18 16:07:22

标签: hibernate

通过读取.sql文件并通过hibernate执行,我遇到了生成查询的问题。

生成错误的步骤:读取.sql文件。 - >并创建hibernate的SQLQuery对象。 - >执行查询。假设存在hibernate会话,请遵循此片段。我使用hibernate 4.2.0.1.Final和Spring的3.2.1.RELEASE版本。

        // optimization.sql is having 1500 lines of Indexes script...     
        private static String resource = "/com/iqx/storage/queries/optimization.sql";        
        InputStream is = ExcelResourceReader.class.getResourceAsStream(resource);
        BufferedReader bf = new BufferedReader(new InputStreamReader(is));
        StringBuffer sb = new StringBuffer();
        while ((str = bf.readLine()) != null) {
            sb.append(str + "\n");
        }
        bf.close();     
        SQLQuery query = session.createSQLQuery(sb.toString());
        query.executeUpdate();

这只是“optimization.sql”上的一个索引示例。文件中有大约100个索引

        IF EXISTS (SELECT name FROM SYS.INDEXES WHERE NAME = N'QBI_TIDX')
            DROP INDEX [QBI_TIDX] ON [ABSTRACT_TABLE]
        GO
        CREATE NONCLUSTERED INDEX [QBI_TIDX] ON [ABSTRACT_TABLE] 
        (
            [QUOTE_FK] ASC,
            [ID] ASC
        )
        INCLUDE ( [VERSION],
        [DESCRIPTION]) WITH (SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF) ON [PRIMARY]
        GO

错误:“12:04:10.996 [main] WARN o.h.e.jdbc.spi.SqlExceptionHelper - SQL错误:102,SQLState:S0001 12:04:10.996 [main] ERROR o.h.e.jdbc.spi.SqlExceptionHelper - 'GO'附近的语法不正确。“

但是当我使用SQLServer Studio运行生成的输出(Stringbuffer)时,它并没有给我这个问题。

如果有人有想法,请指导。提前谢谢。

0 个答案:

没有答案