robygus
Starting Member
1 Post |
Posted - 2013-05-10 : 02:52:45
|
Hi
I developed an application in c# 2005 with SQLServer 2005 with a store procedure to create a pivot and everything worked fine in 100 PC but now in a specific turkish pc ( windows XP sp3 user administrator ) the store procedure is not working and gives a message to the program when I try to use it "invalid object name "tempdb.information_schema.columns""
If I take the database from the pc and I put it in my pc everything works fine.
I thing this could be related to something specific in the pc, any idea?
Following the store procedure for pivot:
>> set ANSI_NULLS OFF set QUOTED_IDENTIFIER OFF GO ALTER PROCEDURE [dbo].[PivotQueryJob] @select varchar(8000), @sumfunc varchar(100), @pivot varchar(100), @table varchar(100) AS DECLARE @sql varchar(8000), @delim varchar(1) , @conteggio varchar(10) , @vari as integer SET NOCOUNT ON SET ANSI_WARNINGS OFF
SELECT @vari = count(*) from job
if ( @vari > 0 ) begin EXEC ('SELECT ' + @pivot + ' AS pivot INTO ##pivot FROM ' + @table + ' WHERE 1=2') EXEC ('INSERT INTO ##pivot SELECT DISTINCT ' + @pivot + ' FROM ' + @table + ' WHERE ' + @pivot + ' Is Not Null')
SELECT @sql='', @sumfunc=stuff(@sumfunc, len(@sumfunc), 1, ' END)' )
SELECT @delim=CASE Sign( CharIndex('char', data_type)+CharIndex('date', data_type) ) WHEN 0 THEN '' ELSE '''' END FROM tempdb.information_schema.columns WHERE table_name='##pivot' AND column_name='pivot'
SELECT @sql=@sql + '''' + convert(varchar(100), pivot) + ''' = ' + stuff(@sumfunc,charindex( '(', @sumfunc )+1, 0, ' CASE ' + @pivot + ' WHEN ' + @delim + convert(varchar(100), pivot) + @delim + ' THEN ' ) + ', ' FROM ##pivot
DROP TABLE ##pivot
SELECT @sql=left(@sql, len(@sql)-1)
SELECT @select=stuff(@select, charindex(' FROM ', @select)+1, 0, ', ' + @sql + ' ')
end
EXEC (@select) SET ANSI_WARNINGS ON >>>> |
|