<hotte> 0 Geschrieben 1. April 2014 Melden Teilen Geschrieben 1. April 2014 Hallo!Ich programmiere in PHP und habe ein Problem mit einer MS SQL-Datenbank:Ich verbinde mich (von meinem WIN7 Testsystem mit XAMPP) auf einen MS-SQL-Server im lokalen Netz. $db = odbc_connect("dsn","blubb","blubb",SQL_CUR_USE_ODBC); Leider habe ich ein großes Problem, sobald ich mehrere Abfragen an den Server schicke:Ich mache eine Select-Abfrage und für jedes Ergebnis dieser Select Abfrage mache ich dann ein Update und ein Insert. (i.d.R. sind das kleine Datenmengen - max 10 Datensätze)Wenn ich nur das UPDATE mache (oder nur das INSERT), funktioniert alles problemlos (auch wenn es 10000 Datensätze sind). Aber sobald das ich beides mache (UPDATE und INSERT), dann bekomme ich vom MS SQL-Server folgende Fehlermeldung: Warning: odbc_exec() [function.odbc-exec]: SQL error: [Microsoft][ODBC SQL Server Driver]Die Verbindung ist mit Ergebnissen von einem anderen hstmt belegt, SQL state S1000 in SQLExecDirect in C:\xampp\htdocs\...... on line 167 Gut, ich dachte mir: Machste halt ne zweite Verbindung zum MS-SQL Server auf: $db2 = odbc_connect("dsn","blubb","blubb",SQL_CUR_USE_ODBC); aber das bringt absolut gar nichts...Hier habe ich ein paar Infos gefunden: Scheinbar gibt es das Problem nicht nur bei PHP, sondern es ist ein allgemeines ODBC Problem.Testweise habe ich wie in dem Link beschrieben auch schon einen anderen ODBC-Treiber genommen. Doch hier habe ich das gleichen Problem (mit einer etwas anderen Fehlermeldung: ) Warning: odbc_exec() [function.odbc-exec]: SQL error: [Microsoft][SQL Server Native Client 11.0]Die Verbindung ist mit Ergebnissen eines anderen Befehls beschäftigt, SQL state S1000 in SQLExecDirect in C:\xampp\htdocs\... on line 167 Was mir noch auffällt:Einmal geht der ganze Prozess durch. D.h. einmal wird das Update UND der Insert durchgeführt. Erst danach sagt der Treiber "nö, kein Bock mehr"Jetzt weiß ich nicht mehr weiter... Hattet Ihr das Problem schonmal?Kann es damit zusammenhängen, dass auf dem Server nur die "Billigere-Version" von MS SQL läuft? (="Express") Habt Ihr Ideen wie ich das Problem lösen kann? Crossposting: Zur Info: Diesen Beitrag habe ich genau so auch in einem anderen Forum gepostet in dem es explizit um die Entwicklung in PHP geht. Aber da wurde ich nur angemault, weil ich ja so b***d bin eine MS SQL-Datenbank einzusetzen und dass MS eh sc***e ist. Da dachte ich mir: Gehst dieses Mal lieber gleich zu den Profis und fragst da nochmal nach! :D Zitieren Link zu diesem Kommentar
zahni 554 Geschrieben 1. April 2014 Melden Teilen Geschrieben 1. April 2014 (bearbeitet) Hast Du den MS Treiber benutzt ? http://www.microsoft.com/en-us/download/details.aspx?id=20098 http://support.microsoft.com/kb/175313/en-us bearbeitet 1. April 2014 von zahni Zitieren Link zu diesem Kommentar
<hotte> 0 Geschrieben 1. April 2014 Autor Melden Teilen Geschrieben 1. April 2014 Hallo Zahni, vielen Dank!!! Habe die Treiber installiert und verwende nun statt den odbc_-Befehlen die entsprechenden sqlsrv_-Befehle. HIer gibt es keine Probleme mehr mit den vielen Abfragen! Danke! :) Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.