Неверное имя объекта при вставке данных во временную таблицу через JDBC - PullRequest
0 голосов
/ 16 мая 2019

Я пытаюсь получить доступ к одному веб-приложению с помощью URL (веб-браузер).Веб-приложение использует вызовы JDBC для создания и вставки данных во временную таблицу.Перед созданием таблицы я поместил инструкцию для удаления временной таблицы, чтобы убедиться, что она уже отсутствует в базе данных.

Иногда в журналах Tomcat появляется ошибка ниже.

Caused by: java.sql.SQLException: Invalid object name '#temp_table'
            at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:368)
            at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2820)
            at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2258)
            at net.sourceforge.jtds.jdbc.TdsCore.getMoreResults(TdsCore.java:632)
            at net.sourceforge.jtds.jdbc.JtdsStatement.processResults(JtdsStatement.java:584)
            at net.sourceforge.jtds.jdbc.JtdsStatement.executeSQL(JtdsStatement.java:546)
            at net.sourceforge.jtds.jdbc.JtdsStatement.executeImpl(JtdsStatement.java:723)
            at net.sourceforge.jtds.jdbc.JtdsStatement.execute(JtdsStatement.java:1160)

Я проверил журналы профилировщика SQL Server, но не получил никакой подсказки.Что касается трассировки стека, проблема возникает при вставке данных.Пожалуйста, ознакомьтесь с приведенным ниже фрагментом кода:

                   ..
                   ..
stmt.executeUpdate(
    "IF object_id('tempdb..#temp_table') IS NOT NULL DROP TABLE #temp_table");
stmt.execute("CREATE TABLE #temp_table([context] [varchar](100) NULL)");
stmt.execute("INSERT INTO #temp_table(context) VALUES ('" + context + "')");

Может ли кто-нибудь помочь найти причину этой проблемы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...