php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 06.04.2005, 13:51  
Gast
 
Beiträge: n/a
Standard Zugriff auf Sybase 8 Datenbank über ADOdb

Hallo,

ich habe ein Problem auf eine Sybase 8 Datenbank, welche mit OnCommand CCM mitgeliefert, zuzugreifen.
  • die Sybase 8 Datenbank liegt auf einem Windows 2000 Server
  • meine Entwicklungsumgebung ist WINXP P, Apache 2.0.52, PHP 5.03 als Modul, Adaptive Server Enterprise 12.5.2 Developer's Edition on Windows, sowie die in einem Entwicklungskit von Symantec mitgelieferten ODBC Treiber.
  • sybase_ct ist eingebunden funktioniert aber nur wenn das ASE installiert ist
In der bisherigen Anwendung (Produktivumgebung Linux) wird auf die Datenbank über Java zugegriffen. Da das aber alles zu lange dauert und zu umständlich ist, will ich den Zugriff von PHP aus über ADOdb realisieren. Für Linux gibt es dafür auch aussreichend Anleitungen. Nur unter Windows bekomme ich keinen Connect zu der Datenbank hin.

Bin für jede Hilfe dankbar
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 06.04.2005, 14:01  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.798
PHP-Kenntnisse:
Fortgeschritten
robo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblick
Standard

wie wärs mal mit fehlermeldungen die ausgespuckt werden?
vieleicht bissel Code? :P
weil Glaskugeln sind bei phpfriend.de momentan schwer zu bekommen.

mfg
robo47
robo47 ist offline   Mit Zitat antworten
Alt 06.04.2005, 14:19  
Gast
 
Beiträge: n/a
Standard Hier etwas Code....

Code:
$sbhandle = sybase_connect( 'die_ip_ohne_port', 'user', 'pw') or die ("can't connect");

if ( $sbhandle == false ) echo"keine verbindung";
bringt folgende Fehlermedlung hervor:
Zitat:
Warning: sybase_connect() [function.sybase-connect]: Sybase: Unable to connect in C:\....
und das ganze mit ADOdb
Code:
$sbhandle = ADONewConnection('sybase');
$sbhandle->Connect('die_ip_des_server_ohne_port', 'user', 'pw', 'datenbankname');
bringt die gleiche Fehlermeldung.
  Mit Zitat antworten
Alt 06.04.2005, 14:19  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.034
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von robo47
weil Glaskugeln sind bei phpfriend.de momentan schwer zu bekommen.
Aber hier: http://www-test.alterras.de/orakel/andere/index.html
__________________
Gruss
L
lazydog ist offline   Mit Zitat antworten
Alt 06.04.2005, 14:21  
Erfahrener Benutzer
 
Registriert seit: 14.01.2004
Beiträge: 2.543
fantast
fantast eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von lazydog
Zitat:
Zitat von robo47
weil Glaskugeln sind bei phpfriend.de momentan schwer zu bekommen.
Aber hier: http://www-test.alterras.de/orakel/andere/index.html
na dann waer ich doch dafuer, dass alle residents so eine spendiert bekommen...
__________________
Was ist validität?
fantast ist offline   Mit Zitat antworten
Alt 06.04.2005, 14:24  
Erfahrener Benutzer
 
Registriert seit: 14.01.2004
Beiträge: 2.543
fantast
fantast eine Nachricht über ICQ schicken
Standard

aber mal produktiv: wenn er sich nich connecten kann wird irgendwas mit dem server nich stimmen. firewall ueberpruefen, sicherstellen, dass der daemon auch laeuft
__________________
Was ist validität?
fantast ist offline   Mit Zitat antworten
Alt 06.04.2005, 14:29  
Gast
 
Beiträge: n/a
Standard

der Server läuft und funktioniert. Mit Java lässt sich darauf zugreifen. ich habe testweise auch mal meine windows firewall abgeschalten. das ändert nichts daran. ich vermute eher das das sybase modul nicht richtig konfiguriert ist. finde dazu aber für windows keine anleitungen oder dergleichen. mit dem ase bekomme ich auch keine odbc connection hin (test nicht erfolgreich), schon aber mit dem odbc treiber aus der entwicklungsumgebung von CCM.
  Mit Zitat antworten
Alt 06.04.2005, 14:29  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.798
PHP-Kenntnisse:
Fortgeschritten
robo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblick
Standard

jo das wäre geilo :P aber mal wieder ontopic, ist ne firewall oder etwas aktiv? wie war die javalösung aufgebaut? hat die direkt zugegriffen oder lag die mit auf dem datenbankserver und wurde dort angesprochen?

mfg
robo47
robo47 ist offline   Mit Zitat antworten
Alt 06.04.2005, 14:37  
Gast
 
Beiträge: n/a
Standard

Das ganze läuft auf einem Linuxserver Apache/ mysql. Die Verbindung von diesem zum Sybase über Java geht.

Aufruf von Java aus PHP
Code:
exec("java hardware_software $namesprung", $hardware_software);
$anzahlswpakete=0;
$anzahlswpakete2=0;
do {
   $array = explode(";",$hardware_software[$anzahlswpakete]);
   $swpaket[$anzahlswpakete] = $array[0];
   $swpaketid[$anzahlswpakete] = $array[1];
aufgerufenes Java
Code:
import java.io.*;
import java.sql.*;
import java.util.*;
import java.lang.*;

public class hardware_software
{
  
  public static String computersnummer;
   
  // main()
  public static void main( String[] args )
  {
      
      computersnummer = args[0];

      try {
        // Select fitting database driver and connect:
        Class.forName( "com.sybase.jdbc2.jdbc.SybDriver" );
        Connection cn = DriverManager.getConnection("jdbc:sybase:Tds:IPdesSybaseServer:Port","user","Passwort");
        Statement  st = cn.createStatement();
        ResultSet  rs = st.executeQuery( "SELECT Packages.PackageName, Packages.PackageID FROM ((Computers INNER JOIN Jobs ON Computers.ComputerID = Jobs.ComputerID) INNER JOIN SoftwareJobs ON Jobs.JobID = SoftwareJobs.JobID) INNER JOIN Packages ON SoftwareJobs.TargetPackageID = Packages.PackageID WHERE (((Computers.ID)='"+computersnummer+"')) Order by Packages.PackageName ASC;");
        while(rs.next()) { 
           System.out.println(rs.getString(1)+";"+rs.getString(2));
        }
        rs.close();
        st.close();
        cn.close();
      } catch( ClassNotFoundException ex ) {
         System.out.println( ex );
      } catch( SQLException ex ) {
         System.out.println( "Exception Ausgabe:" + ex );
      }
   }   
}
[edit]habe mir überlegt, das der sybase server nur die connection vom linuxserver zulässt, halte ich aber für unwahrscheinlich. und das kann ich auch nicht auf die schnelle testen, da beide nicht von mir von mir administriert werden, beim kunden stehen und aktiv eingesetzt werden[/edit]
  Mit Zitat antworten
Alt 06.04.2005, 14:42  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von Hansel
Die Verbindung von diesem zum Sybase über Java geht.
Schön umständlich. Sybase Client (Linux) installieren und PHP mit der entsprechenden Extension compilieren.

Da Sybase Strings etwas anders behandelt als PHP, ist das zu beachten:
Zitat:
magic_quotes_sybase boolean
If magic_quotes_sybase is on, a single-quote is escaped with a single-quote instead of a backslash if magic_quotes_gpc or magic_quotes_runtime are enabled.

Anmerkung: Note that when magic_quotes_sybase is ON it completely overrides magic_quotes_gpc . In this case even when magic_quotes_gpc is enabled neither double quotes, backslashes or NUL's will be escaped.
  Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Direkten Zugriff auf Datenbank verhindern heyho PHP Tipps 2008 7 07.02.2008 11:41
adodb und letztes (akutelles) Insert dh1sbg Datenbanken 1 11.03.2007 18:24
Zugriff auf MySQL Datenbank oxygenus Datenbanken 12 15.02.2006 14:41
[Erledigt] PHP5 OOP Zugriff aus einem Objekt auf ein externes Objekt PHP Tipps 2006 5 28.01.2006 16:05
[Erledigt] Zugriff auf die Datenbank vom internet aus Datenbanken 1 18.01.2006 22:23
Kein Zugriff auf die Datenbank horstenpeter Datenbanken 5 09.01.2006 10:42
Zugriff auf letzte id in der Datenbank PHP Tipps 2005-2 2 25.10.2005 11:30
[Erledigt] zugriff von unbefugten auf mysql datenbank? Datenbanken 5 18.08.2005 15:20
Mehrere Anwendungen eine Datenbank... Datenbanken 5 15.08.2005 11:22
[Erledigt] mysql datenbank anlegen...aber WIE??? PHP Tipps 2005-2 0 05.08.2005 19:33
[Erledigt] mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:31
[Erledigt] mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:31
[Erledigt] mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:29
Sybase SQL mit adodb ansteuern PHP-Fortgeschrittene 13 06.04.2005 16:03
wie mache ich was Schreibrechte ändern Datenbank Eingaben .. PHP Tipps 2005 7 10.02.2005 19:07

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
adodb sybase, sybase standard passwort, sybase datenbank, php sybase connect, sybase 8, per php auf sybase datebank zugreifen, sybase php, php sybase, adodb php sybase, sybase 8 odbc driver, sybase datenbank zugriff, zugriff auf sybase, php \jdbc:sybase\, sysbase datenbank windows 2008 firewall, php adodb order by string, sybase ado treiber, verbindung zu sybase sql server herstellen mit php, zugriff sybase datenbank, php sybase zugriff, php5-sybase keine verbindung

Alle Zeitangaben in WEZ +1. Es ist jetzt 18:49 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.