PHP mit DB2 Anschluß

PHP mit DB2 Anschluß

am 11.04.2007 18:05:35 von aha_spam

Hallo Leute,

ich muß eine Testumfeld aufbauen für PHP und DB2.
Habe dazu eine alten PC genommen, win2k war drauf, also xampp drauf (mit
php,mysql usw) und DB2 installiert.
Ist dabei die Reihenfolge schon wichtig?

Nun versuche ich per PHP die DB2 zu connecten bekomme aber immer eine PHP
fehlermeldung::
<
Warning: odbc_connect() [function.odbc-connect]: SQL error: [Microsoft][ODBC
Driver Manager] Data source name not found and no default driver specified,
SQL state IM002 in SQLConnect in C:\xampplite\htdocs\library.php on line 29
Verbindungsaufbau misslungen..
>

Zeile29: $hDB = odbc_connect('DBNAME','USER','PASSWORT');

Wer kann mir helfen?

Re: PHP mit DB2 Anschluß

am 12.04.2007 11:32:30 von tkshorty

du must db2 erst als odbc source einrichten, damit du das über
odbc_connect verwenden kannst.

außerdem würd ich sicherheitshalber mysql von xampp abschalten. es is
nie gut zwei datenbanken auf einem rechenr laufen zu lassen.

Re: PHP mit DB2 Anschluß

am 12.04.2007 12:17:24 von Martin Lemke

tkshorty schrieb:

> es is
> nie gut zwei datenbanken auf einem rechenr laufen zu lassen.

warum?

Martin

Re: PHP mit DB2 Anschluß

am 12.04.2007 14:40:22 von aha_spam

>du must db2 erst als odbc source einrichten, damit du das über
>odbc_connect verwenden kannst.

und wie mach ich das? ging das irgendwo unter systemsteuerung?

>außerdem würd ich sicherheitshalber mysql von xampp abschalten. es is
>nie gut zwei datenbanken auf einem rechenr laufen zu lassen.

hatte ich schon - ist deaktiviert und läuft nicht, ist aber installiert

Re: PHP mit DB2 Anschluß

am 12.04.2007 15:09:57 von tkshorty

findest du unter sytemsteurung -> Verwaltung -> Datenquellen(ODBC)

musst du dich mal durchhangeln weiß selbst net mehr genau unter
welchen punkt. war aber glaub ich eins von den DNS teilen.
unter umständen brauchst du noch den richtigen treiber dafür.

bei vielen datenbankservern kann man aber auch eine clientinstallation
durchführen die diese odbc datenquelle automatisch anlegt


@martin:
ok oft funzt es aber ich hatte schon öfter das die sich gegenseitig
gekillt hatten.
mal hat nur einer geklappt mal garkeiner dann is wieder alles super
und du kannst den grund net finden. so probleme braucht echt keiner

Re: PHP mit DB2 Anschluß

am 12.04.2007 15:23:25 von aha_spam

hat geklappt ... thx!
hab nur unter system gesucht *peinlich*
verbindung ist da - nun gehts weiter.

Re: PHP mit DB2 Anschluß

am 06.06.2007 17:03:13 von aha_spam

hallo leute,

ich habe 1 weiteres problem:

Warning: odbc_exec(): SQL error: [IBM][CLI Driver][DB2/6000] SQL0644N
Invalid value specified for keyword "CONCURRENCY" in statement
"". SQLSTATE=42615 , SQL state 42615 in SQLExecDirect in
/swd_test/app/dq/index.php on line 106

was soll mir dieser fehler sagen?



"André H." schrieb im Newsbeitrag
news:461e32cf$0$10194$9b4e6d93@newsspool4.arcor-online.net.. .
> hat geklappt ... thx!
> hab nur unter system gesucht *peinlich*
> verbindung ist da - nun gehts weiter.
>

Re: PHP mit DB2 Anschluß

am 06.06.2007 19:18:47 von Claus Reibenstein

André H. schrieb:

> Warning: odbc_exec(): SQL error: [IBM][CLI Driver][DB2/6000] SQL0644N
> Invalid value specified for keyword "CONCURRENCY" in statement
> "". SQLSTATE=42615 , SQL state 42615 in SQLExecDirect in
> /swd_test/app/dq/index.php on line 106
>
> was soll mir dieser fehler sagen?

Er soll Dir sagen, dass Du Dir in Zeile 106 des Scripts
/swd_test/app/dq/index.php das SQL-Statement einmal ausgeben lassen und
anschauen sollst. Falls das nicht hilft, kannst Du dieses Statement hier
posten.

Ohne dieses Statement ist Deine Fehlermeldung ziemlich wertlos.

Gruß. Claus

Re: PHP mit DB2 Anschluß

am 08.06.2007 17:57:11 von aha_spam

> Er soll Dir sagen, dass Du Dir in Zeile 106 des Scripts
> /swd_test/app/dq/index.php das SQL-Statement einmal ausgeben lassen und
> anschauen sollst. Falls das nicht hilft, kannst Du dieses Statement hier
> posten.

Ok ok hier das Statement:
SELECT dqview.SWAN_JOBID FROM ANDRE.DQVIEW as dqview WHERE dqview.NO_SUPL
='0016903551' GROUP BY dqview.SWAN_JOBID ORDER BY dqview.SWAN_JOBID

Noch als hinweis meinerseits. Lokal auf meinem PC (W2K,apache,mysql und DB2
v9.1.0.356)
funktioniert es, aber unter anderen Umgebungsbedingen (linux /aix und php
und DB2) leider nicht.

Re: PHP mit DB2 Anschluß

am 11.06.2007 10:16:59 von Claus Reibenstein

André H. schrieb:

> SELECT dqview.SWAN_JOBID FROM ANDRE.DQVIEW as dqview WHERE dqview.NO_SUPL
> ='0016903551' GROUP BY dqview.SWAN_JOBID ORDER BY dqview.SWAN_JOBID

Sieht eigentlich ok aus. Das einzige, was ich mir vorstellen könnte, ist
der Alias, da dieser genau so heißt wie die Tabelle.

Allerdings frage ich mich, wieso Du einen Datenbanknamen mit angibst.
Bist Du zu diesem Zeitpunkt mit einer anderen DB verbunden? Auch
verstehe ich nicht, warum Du überall den Tabellennamen mitschleppst, wo
Du doch sowieso nur eine einzige Tabelle benutzt. Der ORDER BY ist
ebenfalls überflüssig, da GROUP BY ja schon sortiert.

Das geht also deutlich kürzer:

SELECT SWAN_JOBID FROM ANDRE.DQVIEW WHERE NO_SUPL='0016903551'
GROUP BY SWAN_JOBID

Gruß. Claus

Re: PHP mit DB2 Anschluß

am 12.06.2007 13:03:01 von Andreas Froede

André H. wrote:
> Ok ok hier das Statement:
> SELECT dqview.SWAN_JOBID FROM ANDRE.DQVIEW as dqview WHERE dqview.NO_SUPL
> ='0016903551' GROUP BY dqview.SWAN_JOBID ORDER BY dqview.SWAN_JOBID

Was bitte schön, soll das GROUP BY da anrichten?

> funktioniert es, aber unter anderen Umgebungsbedingen (linux /aix und php
> und DB2) leider nicht.


> ANDRE.DQVIEW

Großschreibung im Schema- oder DB-bezeichnern sieht nach geignetem
Fehlerkandidat aus. Einige DBMSe bilden das teilweise genauso im
Filesystem ab, obwohl das SQL da nicht kontextsensitiv ist.

CIAO
andreas
--
.... oben geht es um den Thron - unten geht es um Deinen Hintern ...
[Keimzeit]
Klettern in Thüringen: http://www.climb.spider-net.de
Kletterhalle in Jena: http://www.wand.spider-net.de

Re: PHP mit DB2 Anschluß

am 22.06.2007 17:58:41 von aha_spam

> Noch als hinweis meinerseits. Lokal auf meinem PC (W2K,apache,mysql und
> DB2 v9.1.0.356)
> funktioniert es, aber unter anderen Umgebungsbedingen (linux /aix und php
> und DB2) leider nicht.


Auflösung:
es lag an einem IBM Bug in der DB V8 - wurde ab Patch 14 behoben
und Client und Server sollten die gleichen versionen (patches) aufweisen.