PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : suse zu mssql



linuxhexe
17.03.08, 09:07
Hallo

Bin hier, php und linux anfänger, also wenn das hier falsch gepostet ist oder so, sagt es mir und seht es mir nach(Bitte).

Ich möchte von Linux (opensuse 10.3) über php auf eine MSSQL-Server-Datenbank(2000) zugreifen und sie editieren.

Da ich von einem Mac zugreifen und editieren kann, scheint bei MS alles in ordnung zu sein.

Bei Linux ist auch odbc nachinstalliert.

Er bekommt einfach keine Verbindung.
(gibt auch keine Fehlermeldung aus)

Fehlermeldung lautet nur IM004
(weiß, kommt halt nix anderes)
Linux Firewall ist deaktiviert.

Wie bekomme ich die Verbindung hin?

Danke

marce
17.03.08, 09:09
php selbst gebaut oder die Pakete von der Distribution genommen?

linuxhexe
17.03.08, 09:13
Die Pakete wurden nicht selbst kompilert.
Macht das son unterschied?

marce
17.03.08, 09:17
und welche hast Du alle angewählt (ein rpm -q -a | grep php sollte die liefern)?

linuxhexe
17.03.08, 09:34
php5-ctype-5.2.5-17.4
php5-xmlreader-5.2.5-17.4
php5-tokenizer-5.2.5-17.4
php5-pdo-5.2.5-17.4
php5-mysql-5.2.5-17.4
php5-5.2.5-17.4
apache2-mod_php5-5.2.5-17.4
php5-iconv-5.2.5-17.4
php5-dom-5.2.5-17.4
php5-sqlite-5.2.5-17.4
php5-odbc-5.2.5-17.7
php5-hash-5.2.5-17.4
php5-json-5.2.5-17.4
php5-xmlwriter-5.2.5-17.4

marce
17.03.08, 10:01
mssql / odbc ist in der php.ini aktiviert? Konfiguration der DB stimmt?

Schaub' mal den Loglevel hoch oder stelle die php-Fehlermeldungen in der php.ini ein - da sollte dann evtl. zumindest was ordentliches rauskommen.

Meldet der SQL-Server irgendwas? Bekommt er den Zugriffs-Versuch mit oder kommt da gar nichts an? Evtl. mal mit wireshark mitlesen...

basti1985
17.03.08, 10:04
ja odbc wäre wohl das einfachste ...

oder du "trickst" nach dieser an anleitung hier (http://ubuntuforums.org/showpost.php?p=2088358) rum (pakte müssen ectl. angepasst werden)

linuxhexe
17.03.08, 10:11
php ini ist editiert, odbc ist aktiviert, sql server meldet nix...

basti1985
17.03.08, 10:30
der server ist aber erreichbar ?? (ping, telnet)
hast du dir mal paar "haltpunkte" gesetzt bzw. die command´s ausgeben lassen ??

marce
17.03.08, 10:34
ich würde vor allem weiteren erst mal dafür sorgen, dass ich ordentliche Fehlermeldungen bekomme - sei es über php.ini oder über die Applikation.

So in Nebel herumraten bringt weiter nichts - und die Grundgegebenheiten scheinen ja zu stimmen (scheinen - weil wir es nicht wissen, Du hast bis jetzt ja auch keine Logeinträgen, Configs oder sonstiges gepostet)

linuxhexe
17.03.08, 10:35
ping funktioniert.
bessere fehlermeldung bekomme ich trotsdem nicht.

neustart des suse ...
mal sehen
keine änderung

linuxhexe
17.03.08, 11:04
aus der php.ini


[ODBC]
;odbc.default_db??? =? test
;odbc.default_user? =? test_user
;odbc.default_pw??? =? test_passwort

; Allow or prevent persistent links.
odbc.allow_persistent = 1

; Check that a connection is still valid before reuse.
odbc.check_persistent = 1


; Maximum number of persistent links.? -1 means no limit.
odbc.max_persistent = -1

; Maximum number of links (persistent + non-persistent).? -1 means no limit.
odbc.max_links = -1

; Handling of LONG fields.? Returns number of bytes to variables.? 0 means
; passthru.
odbc.defaultlrl = 4096

; Handling of binary data.? 0 means passthru, 1 return as is, 2 convert to char.
; See the documentation on odbc_binmode and odbc_longreadlen for an explanation
; of uodbc.defaultlrl and uodbc.defaultbinmode
odbc.defaultbinmode = 1

was brauchst du noch?

linuxhexe
17.03.08, 11:38
sqlallocenv im004

basti1985
17.03.08, 12:23
was sagt denn


phpinfo()

oder das log des apache ?

linuxhexe
17.03.08, 12:52
phpinfo



odbc

ODBC Support

enabled

Active Persistent Links

0

Active Links

0

ODBC library

unixODBC

ODBC_INCLUDE

-I/usr/include

ODBC_LFLAGS

-L/usr/lib

ODBC_LIBS

-lodbc

marce
17.03.08, 13:06
Verwende für solche Posts bitte die Code-Tags des Forums - ansonsten ist die Ausgabe mehr oder weniger unlesbar.

Nett wäre übrigens auch noch, wenn Du jeweils dazu schreiben würdest, was Du denn da gerade nun postest. Auf Ratespiele haben die meisten hier nämlich wenig Lust...

linuxhexe
17.03.08, 13:20
ok so besser?

basti1985
17.03.08, 13:21
kannst du eine andere verbindung zum server aufbauen ? -> dsn-vergeben ?
(unter windows weis ich das man erst eine verbindung einrichten muss -- wie das unter linux ist weis ich nicht -- hab ich noch nicht verwendet)
http://www.usegroup.de/software/phptutorial/was_ist_odbc.html
http://www.php-homepage.de/manual/ref.uodbc.php

marce
17.03.08, 13:24
Ohne konkrete Code-Beispiele oder konkrete Fehlermeldungen (wie bereits mehrfach gepostet) wird es sehr schwer zu helfen.

linuxhexe
17.03.08, 13:30
bisher hat er nur IM004 gebracht, nun sagt er das

[unixODBC][Driver Manager]Driver's SQLAllocHandle on SQL_HANDLE_HENV failed

nun arbeiten immernoch 4 leute drann und ihr...

marce
17.03.08, 13:36
Schön. Und wir wissen immer noch nichts über die komplette Konfiguration, konkrete Befehle und sonstige Dinge - die hier schon mehrfach erbeten wurden.

linuxhexe
20.03.08, 15:27
im allgemeinen einverständnis wurde alles plattgemacht, und ganz neu aufgezogen.
und wieder n neuer fehler.


Diag I hdbc 8x8216dbo:HYC00:0:[unixODBC][FreeTDS] [SQL Server] driver not capable