Gespeicherte Prozedur wird nicht ausgeführt
Matthias
- php
Hallo zusammen,
ich arbeite mit PHP5 und den SQL Server 2005.
Ich möchte eien GP ausfünhren und die Daten in einer Tabelle ausgeben. Leider bekomme ich die Fehlermeldung "Heterogeneous queries require the ANSI_NULLS and ANSI_WARNINGS options to be set for the connection". Diese Fehlermeldung bekomme ich aber nur in bestimmten Fällen. Wenn ich in der GP einen "einfachen" Select auf eine Tabelle mache, bekomme ich keine Fehlermeldung. Dieser erhalte ich nur, wenn ich einen Select auf eine DB2 auf ner AS400 mache. Die Abfrage sieht folgendermaen aus
USE [BDE_test]
set ansi_padding on
set ARITHABORT on
set CONCAT_NULL_YIELDS_NULL on
set QUOTED_IDENTIFIER on
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
set numeric_roundabort off
GO
ALTER PROCEDURE [dbo].[spBDEausDISO] @Datum varchar(25) AS
DECLARE @SQL varchar(2048)
SET @SQL = 'SELECT DISTINCT K.DKOBZ, Z.DKONR KST, P.DPSNA Name, Z.DSCHT Schicht, (DAUFN || '''' '''' || DAUFU) Auftrag,'
SET @SQL = @SQL + 'XAVBZ AVG,(DZEIT/100) Zeit,DMENG Menge '
SET @SQL = @SQL + 'FROM ((LDATA.DDPAD00 Z LEFT JOIN LDATA.DDLPS00 P ON Z.DPSNR = P.DPSNR) '
SET @SQL = @SQL + 'LEFT JOIN LDATA.DDLKO00 K ON Z.DKONR = K.DKONR) '
SET @SQL = @SQL + 'JOIN LDATA.DXPAV00 A ON Z.DAVGN = A.XAVNR '
SET @SQL = @SQL + 'WHERE A.XFINR = ''''900'''' AND Z.XFINR = ''''900'''' AND Z.DDATM = ''''' + @Datum + ''''' '
SET @SQL = @SQL + 'AND K.XKOJR = ''''02'''' AND K.XFINR = ''''900'''''
SET @SQL = @SQL + 'ORDER BY KST, SCHICHT, Auftrag, AVG'
SET @SQL = 'SELECT * FROM OPENQUERY(DISO_IBM,''' + @SQL + ''')'
--select @SQL
--EXEC( @SQL );
select * from tbTest
Hier im Forum habe ich den Tip gefunden die verschiedenen Parameter einzuschalten, doch ohne Erfolg.
Noch ein Hinweis: Die DB (BDE_Test) ist eine Testumgebung auf den SQL 2005 auf dem alten Server SQL 2000 funtioniert die GP!
Ich hoffe das mir einer von Euch helfen kann.
Vielen Dank
Matthias