SQL - Abfrage funktioniert
Schotti
- php
-2 Hopsel0 Vinzenz Mai0 Schotti
Hallo,
kann mir jemand helfen! Ich habe ein SQL - Statement das ich mittels
PHP ausführen möchte. Dieses Statement funktioniert aber in PHP nicht
es funktioniert nur wenn ich es im SQL - Server ausführe.
Ist es überhaupt möglich ein solches Statement in php auszuführen.
Nach dem er bei den ersten versuch folgende Fehlermeldung gebracht hat habe ich set "ansi_nulls on" und set "ansi_warnings on" hinzugefügt! Ich kann jedoch mit dieser Fehlermeldung nicht viel anfangen.
Fehlermeldung...
Warning: mssql_query(): message: Heterogene Abfragen erfordern, dass die Optionen ANSI_NULLS und ANSI_WARNINGS für die Verbindung festgelegt werden. So wird eine konsistente Abfragesemantik sichergestellt. Aktivieren Sie diese Optionen, und wiederholen Sie dann die Abfrage. (severity 16) in c:\apache\htdocs\inventar\admin\index.php on line 24
Hier das Statement.
mssql_query("set ansi_nulls on set ansi_warnings on INSERT INTO lieferanten
SELECT LF_Nr,
LF_Name_1
FROM OLAPSERVER.MIS_DWH_KNORR.dbo.dim_lieferanten
");
Vielen Dank für die Hilfe
Schotti
Hi Schotti!
[...] habe ich set "ansi_nulls on" und set "ansi_warnings on" hinzugefügt!
Ich höre von dieser Fehlermeldung zum ersten Mal, aber setze sie doch mal auf off. [1] :)
[1] Ich weiß allerdings auch nicht, was diese Angaben bedeuten.
MfG H☼psel
Hallo Hopsel,
[...] habe ich set "ansi_nulls on" und set "ansi_warnings on" hinzugefügt!
Ich höre von dieser Fehlermeldung zum ersten Mal, aber setze sie doch mal auf off. [1] :)
nein, das ist keine gute Idee.
[1] Ich weiß allerdings auch nicht, was diese Angaben bedeuten.
Dann konsultiere bitte zuerst das Handbuch des MS SQL-Server, bevor Du einen solchen Tipp gibst. Nur ein Beispiel aus der Doku:
<zitat>
Wenn SET ANSI_WARNINGS auf OFF festgelegt ist, schlagen die CREATE-, UPDATE-, INSERT- und DELETE-Anweisungen in Tabellen mit Indizes auf berechneten Spalten oder indizierten Sichten fehl.
</zitat>
INSERT-Anweisungen können also fehlschlagen, dadurch Daten verloren gehen. Das wäre fatal. Ich kann natürlich nicht sagen, dass dies genau auf das Problem des OP zutrifft, da dazu die Informationen viel zu spärlich sind, es zeigt jedoch, dass diese Fehlermeldungen _sehr ernst_ zu nehmen sind.
Freundliche Grüße
Vinzenz
Hallo Schotti,
Nach dem er bei den ersten versuch folgende Fehlermeldung gebracht hat habe ich set "ansi_nulls on" und set "ansi_warnings on" hinzugefügt! Ich kann jedoch mit dieser Fehlermeldung nicht viel anfangen.
im Handbuch von MS SQL-Server findest Du umfangreiche Informationen über SET ANSI_NULLS und SET ANSI_WARNINGS. Was davon auf Dein spezielles Problem zutrifft, kann aus Deiner Beschreibung natürlich nicht ermittelt werden. Lies bitte selbst dort nach.
Freundliche Grüße
Vinzenz
Hallo,
ich habs jetzt geschafft! Man muss nur ein paar Parameter auf on bzw. off setzten...
mssql_query("set ansi_padding on
set ARITHABORT on
set CONCAT_NULL_YIELDS_NULL on
set QUOTED_IDENTIFIER on
set ANSI_NULLS on
set ANSI_WARNINGS on
set numeric_roundabort off
");
Gruß
Schotti