PDF als binary in MSSQL Datenbank pumpen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • PDF als binary in MSSQL Datenbank pumpen

    hallo zusammen

    brauche dringend hilfe. wir haben in der firma ein selbst programmiertes Vertragsverwaltungstool im Einsatz. läuft einem XAMMP mit PHP 5. Die Daten werden auf einem anderen Server in einer MS SQL Datenbank gespeichert.
    nun kann zu jedem Vertrag auch der original Vertrag als PDF mit angehängt werden. Das PDF wird beim Upload in ein binary umgewandelt und so in die Datenbank geschrieben. Zum Ansehen des Vertrags wird dann das PDF wieder umgewandelt und als temporäre Datei angezeigt.

    Das System funktioniert an sich sehr gut, doch wenn die PDF Dateien grösser als ca. 1.5 MB werden gibt es Probleme. Zuerst war da der max_execution_timeout. Dieses Problem konnte noch einfach gelöst werden. Nun ist es aber so, dass zwar irgendwann das Script abbricht ohne Fehlermeldung und die upload maske wieder geleert ist. Aber Daten wurden keine gespeichert. Ich komme einfach nicht mehr weiter.

    hier noch die funktion für das umwandeln des PDF in ein binary.

    PHP-Code:
    function str2bin($myStr) {
    //Funktion zum umwandeln von String to Binary
        
    $out '';
        for(
    $i=0$i<strlen($myStr); $i++)
            
    $out .= str_pad(decbin(ord($myStr{$i})),8,'0',STR_PAD_LEFT);
        return 
    $out;

    danke schon mal für alle hinweise und tipps

  • #2
    möglich dass du speicher probleme hast.

    was genau spricht dagegen die daten (pdfs) im filesystem abzulegen? Da gehören sie schließlich hin.

    Kommentar


    • #3
      dagegen spricht, dass die Verträge auf dem Filesystem zum Teil Personen zugänglich wären welche diese nicht sehen sollten.
      Ist halt einfach ne Vorgabe der Firma. Ich würde sie auch lieber im Filessystem ablegen...

      Kommentar


      • #4
        datenbanken kann man rechte zuweisen, dem filesystem nicht? Naja, dann bleibt halt nur die überprüfung der gängigen einstellungen bzgl. Speicher, etc...

        Kommentar


        • #5
          tja wenn ich personen meine, dann sind das eben die systemadministratoren.... also die die rechte verteilen

          wie ist das mit dem speicher gemeint? welche einstellung kann ich da überprüfen? in der php.ini???

          max_execution_time
          mssql.textlimit
          mssql.textsize

          sind alle schon richtig eingestellt.

          Kommentar


          • #6
            ich habe jetzt mit tests herausgefunden, dass vermutlich das Problem beim Insert statement besteht.

            die variable mit dem Binary Text wird bei einem PDF von ca. 2MB natürlich sehr gross. Kann es sein, dass bei der funktion mssql_query es auch Limiten für die Länge gibt?
            Oder gibt es max. Zeichenlänge für variablen?

            Kommentar


            • #7
              warum nicht selbst gesucht?

              http://www.phpbuilder.com/columns/fl...14.php3?page=4

              Kommentar


              • #8
                remo, wasfür Datentyp ist die Spalte in der DB definiert?

                Kommentar


                • #9
                  text Grösse 16.
                  was bedeutet die grösse 16 genau? ist das die grösstmögliche Grösse?

                  Kommentar


                  • #10
                    http://www.google.com/search?rls=com...ssql+image&lr=

                    Kommentar


                    • #11


                      wo ist der :kopf-gegen-die-wand: smilie?

                      EDIT:
                      ich nehm den hier:
                      Zuletzt geändert von TobiaZ; 10.01.2007, 14:19.

                      Kommentar


                      • #12
                        Original geschrieben von remo
                        text Grösse 16.
                        was bedeutet die grösse 16 genau? ist das die grösstmögliche Grösse?
                        oh Gott ... für solche Zwecke steht dir 3 Datentypen zur Verfügung

                        - binary 8000 Bytes fest = 7,8 KB
                        - varbinary 8000 Bytes variable
                        - image 2 GB variable << diesen Datentyp sollst du einstellen
                        Zuletzt geändert von asp2php; 10.01.2007, 14:23.

                        Kommentar


                        • #13
                          OffTopic:
                          asp2php: "bynary" rockt

                          Kommentar


                          • #14
                            Original geschrieben von penizillin
                            OffTopic:
                            asp2php: "bynary" rockt
                            vertippt

                            Kommentar


                            • #15
                              ich habe nun ein weiters feld in dre ms sql datenbank eingefügt

                              image Grösse 16
                              nun bekomme ich diese fehlermeldung beim schreiben in die datenbank:

                              Warning: mssql_query() [function.mssql-query]: message: Operand type clash: text is incompatible with image (severity 16) in C:\Programme\xampp\htdocs\app_appendix_save.php on line 33

                              Warning: mssql_query() [function.mssql-query]: Query failed in C:\Programme\xampp\htdocs\app_appendix_save.php on line 33

                              liegt das daran, dass die function str2bin() angewendet wurde auf dem ausgewählten PDF File?

                              Kommentar

                              Lädt...
                              X