Announcement

Collapse
No announcement yet.

String-Müll mit Stringliste bei Parameterübergabe an MS-SQL-Server

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • String-Müll mit Stringliste bei Parameterübergabe an MS-SQL-Server

    Hallo,
    wir bauen eine C/S-Appl. mit einer kleinen statischen DLL, in der nützliche Fkt. ausgelagert sind, darunter auch solche mit strings als Parameter.
    In jede Unit ist als erstes sharemem eingebunden.
    Die Funktion
    <B>function</B> DivStrdProcString(StrdProcString: string): TStringList;
    zerschlägt einen String mit lauter Datensatz-ID´s in einzelne Teilstrings, die jeweils eine Höchstlänge besitzen, wie sie vom benutzen DB-System abhängt (z.B. Oracle VarChar2 -> 32500, MSSQL Varchar -> 8000).
    Die einzelne Teilstrings der Stringliste werden einer StoredProcedure übergeben.
    <B>Problem:</B> mit Oracle funktioniert dies problemlos
    Beim MS-SQL-Server landet bei der Procedure nur String-Müll.
    Alle Umgehungsversuche brachten nichts (Umwandlung Pchar und zurück/ Zuweisung Stringlisten-String an lokalen String, den dann an Procedure).
    <B>Frage:</B> kennt jemand eine Möglichkeit, die Strings der DLL-Stringliste korrekt an MS-SQL-Server zu übergeben? - oder muß ich die Funktion aus der DLL nehmen ?!?

    Bin für jedem Tipp dankbar

  • #2
    Hallo,

    wie sieht die Übergabe zum MS SQL Server im Detail aus? Welcher Verbindungweg (BDE, ODBC, ADO) wird genutzt

    Comment


    • #3
      Hallo,
      vielen Dank für die schnelle Reaktion.

      Nach vielen Gesuche haben wir eine Lösung gefunden. Schuld war die BDE- und meine Unerfahrenheit. Die DLL hat korrekt fkt., Der lange Stringparameter (>255 Byte) wurde nicht als SQL-Parameter an MS-Server geschickt, da wir die Wertübergabe an die StoredProcedure mit Parameter.asString gemacht haben. Das hat den Typ des Parameter wieder auf String gesetzt- und das hat die BDE nicht verkraftet.

      Wir haben jetzt den Parametertyp der StoredProcedure als ftMemo gesetzt und die Parameterübergabe mit .asMemo - das wars schon.

      Trotzdem vielen Dank für die Mühe - Andreas Uh

      Comment

      Working...
      X