...
2、启用连接池后,多张同名临时表的连接在连接池中的可能相同,那么存储过程在连接池获取空闲连接的时候就有可能获取到另一张同名的临时表,导致字段不一致从而丢失。
展开code | ||
---|---|---|
| ||
02-01 16:46:28 ERROR a(smartbi.spreadsheetreport.core.SpreadsheetReportServlet:291)- 获取数据SQL错误 获取数据SQL错误 - 获取数据SQL错误<br />获取数据SQL错误:IF OBJECT_ID(&apos;tempdb..#T1&apos;) IS NOT NULL DROP TABLE #T1 CREATE TABLE #T1 (SC VARCHAR(500)) DECLARE @SR VARCHAR(MAX),@JG INT SET @SR= &apos;20221012 20221013 20221014 20221015&apos; +&apos; &apos; SET @JG= 2 SET @SR= REPLACE (@SR,&apos; &apos;,&apos;△&apos;) DECLARE @CS INT,@CS1 INT,@SC1 VARCHAR(5000),@BZ INT SET @SC1=&apos;&apos; SET @BZ=0 SET @CS=0 SET @CS1=-1 WHILE CHARINDEX (&apos;△&apos;,@SR,@CS+1) SET @SC1=SUBSTRING(@SR,@CS+1,@CS1-@CS-1 )+&apos; &apos;+@SC1 SET @CS=@CS1 IF @BZ=@JG OR CHARINDEX (&apos;△&apos;,@SR,@CS+1)=0 BEGIN INSERT INTO #T1 VALUES (@SC1) SET @SC1=&apos;&apos; SET @BZ=0 END END SELECT * FROM #T1;列名或所提供值的数目与表定义不匹配。 at 列名或所提供值的数目与表定义不匹配。<br />at smartbi.freequery.querydata.store.DBSQLResultStore.executeInDatabaseInner(DBSQLResultStore.java:1768) at <br />at ...(...) at <br />at smartbi.log.PreparedStatementWarp.executeQuery(PreparedStatementWarp.java:144) Caused <br />Caused by: java.sql.SQLException:列名或所提供值的数目与表定义不匹配。 at 列名或所提供值的数目与表定义不匹配。<br />at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:368) at <br />at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2820) at <br />at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2258) at <br />at net.sourceforge.jtds.jdbc.TdsCore.getMoreResults(TdsCore.java:632) at <br />at net.sourceforge.jtds.jdbc.JtdsStatement.executeSQLQuery(JtdsStatement.java:477) at <br />at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.executeQuery(JtdsPreparedStatement.java:776)at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:92) at <br />at smartbi.log.PreparedStatementWarp.executeQuery(PreparedStatementWarp.java:144) at <br />at smartbi.freequery.querydata.store.DBSQLResultStore.runRawSQL(DBSQLResultStore.java:4645) at <br />at smartbi.freequery.querydata.store.DBSQLResultStore.executeInDatabaseInner(DBSQLResultStore.java:1706) at <br />at smartbi.freequery.querydata.store.DBSQLResultStore.executeInDatabase(DBSQLResultStore.java:1615) |
解决方案
方案一:数据源
Viewtracker |
---|