wir benutzen ein Warenwirtschaftssystem das mit einer MSSQL (MSDE) Datenbank arbeitet. Unser selbst erstellter Online Shop benutzt eine MySQL Datenbank und wurde in PHP programmiert.
Ich möchte nun im Online Shop ständig die aktuellen Lieferbestände stehen haben, damit unsere Kunden wissen wann ein Artikel verfügbar ist und wann es Lieferungsschwierigkeiten geben kann.
Diese Daten stehen in der MSSQL Datenbank der Warenwirtschaft.
Besteht die Möglichkeit mit PHP auf die MSSQL Datenbank der Warenwirtschaft zu zugreifen und die Tabellen in der Datenbank (Online Shop) auf der Server zu aktualisieren?
Wenn ja, wie könnte man das realisieren?
Besteht die Möglichkeit mit PHP auf die MSSQL Datenbank der
Warenwirtschaft zu zugreifen und die Tabellen in der Datenbank
(Online Shop) auf der Server zu aktualisieren?
Wenn ja, wie könnte man das realisieren?
das kommt darauf an, wie Eure mySQL Datenbank konfiguriert ist. Wenn man von außerhalb mit username/password auf die Datenbank zugreifen kann, ist es ziemlich einfach. Dann braucht Ihr die Daten nur zu übertragen.
Ist mySQL jedoch so konfiguriert, dass nur „localhost“ erlaubt wird, so wird es komplizierter. Am einfachsten ist noch, die Daten aus MS-SQL in eine Textdatei (CSV) zu exportieren und auf dem Webserver wieder zu importieren (entweder mit phpMyAdmin oder mit einem eigenen Skript).
Die MySQL Datenbank kann ich so enrichten das jeder Host darauf zugreifen kann. Wir haben einen eigenen virtuellen Server auf dem ich alles selbst konfigurieren kann.
Die Lösung mit der CSV Tabelle machen wir schon die ganze Zeit. Da es aber sehr zeitaufwendig ist, möchte ich ein Programm schreiben das dies automatisiert.
Kannst du mir dein Vorschlag genauer schildern?
Wir soll das funktionieren?
Kannst du mir dein Vorschlag genauer schildern?
Wir soll das funktionieren?
Du stellst einfach eine Connection zur mySQL Datenbank her. Wenn Du PHP dafür nutzt, geht da mit der mysql_connect() Funktion. Die Parameter entprechen dann den eingestellten Werten für hostname, username und password.
Dann stellt du eine zweite Connection zur MS-SQL Datenbank her, liest die Daten mit SELECT aus und überträgst Sie per INSERT oder UPDATE an die mySQL-connection.
Du stellst einfach eine Connection zur mySQL Datenbank her.
Wenn Du PHP dafür nutzt, geht da mit der mysql_connect()
Funktion. Die Parameter entprechen dann den eingestellten
Werten für hostname, username und password.
Dann stellt du eine zweite Connection zur MS-SQL Datenbank
her, liest die Daten mit SELECT aus und überträgst Sie per
INSERT oder UPDATE an die mySQL-connection.
Beim connect zur mssql Datenbank steht auch mysql_connect. Ich denke mal das es wohl mssql_connect heißen soll, oder?
Und beim Hoste zur MSSQL Datenbank kommt dann wohl die IP Adresse vom Firmenserver hin, oder?
Ich habe mir nun die IP Adresse des Firmenserver ausgeben lassen und diese anstatt localhost in den mssql_connect geschrieben.
bei der mssql Verbindung bringt er mir allerdings immer „Call to undefined function: mssql_connect()“. Auf dem Internetserver ist auch keine mssql Datenbank installiert. Er soll aber die Datenbank auf dem Rechner (Firmenserver) verwenden.
Ich sende dir anbei mein Code zu.
An was könnte das liegen?
Muß ich noch zusätzlich was installiern damit er die Befehle für mssql kennt?
bei der mssql Verbindung bringt er mir allerdings immer „Call
to undefined function: mssql_connect()“. Auf dem
Internetserver ist auch keine mssql Datenbank installiert. Er
soll aber die Datenbank auf dem Rechner (Firmenserver)
verwenden.
Dann ist wohl der MS-SQL Support bei PHP nicht mit einkompiliert. Außerdem müsste dann der Webserver mit eurer MS-SQL Datenbank „sprechen“ können. So geht es also nicht.
Wenn Du PHP verwenden willst, dann richte Dir auf dem Firmenserver einen zusätzlichen Intranet-Server ein, der PHP unterstützt, dann sollte es gehen.
Wenn Du weniger Aufwand betreiben willst, kannst Du das auch mit VB oder C++ entwickeln. Der Zugriff zu mySQL kann über eine ODBC-Schnittstelle erfolgen.
Das habe ich mir auch schon überlegt, aber auf Grund meiner Kenntnisse in VB, denke ich nicht das es leichter ist.
Ich habe das neue Visual Basic.Net und konnte bereits einen Datenbankverweis zu der Tabelle der Warenwirtschaft herstellen.
Meine Daten kann ich über den Moderator von VB auch einsehen.
Wie soll ich nun weiter vorgehen?
Wie bekomme ich meine Daten ins Internet?
Ich denke mal das die SQL Anweisungen die gleichen sind wie im Internet?
Muß ich ein VB Programm mit richtiger Benutzeroberfläche schreiben oder reicht da eine einfache Anweisung aus?
Ich wollte die .exe dann in die geplante Task unter Windows aufnehmen und jede Nacht einmal ausführen lassen, das es am Tage zu keinem Ausfall kommt.