none
DSN-Less ODBC Connect -> Error 3210 Connect string too long

    Frage

  • I try to connect to an AS400 DB using DAO/ODBC without registering DSN.

    If the conncettion-string has more than 255 chars, I get the error 3210 - "Connect string to long"

    Trying FileDSN also does not work even with less than 255 chars.

    Same results on Access 2003 and 2010.

    I'd like to use DAO because it's used everywhere else in the program.

    Is there a workaround for error 3210 or FileDSN?

    Thanks for any help!

    Freitag, 30. November 2012 01:00

Antworten

  • Hallo,

    Langschläfer wrote:

    Also hier ein Beispiel:

    ConnStr = "ODBC;DRIVER=HiT ODBC/400 Optimized 32bit;UID=MyName;DPC=0;SSL=0;ChCtg=0;CchUI=0;UnqTb=0;HoldC=1;RmBlk=1;BlkSz=512;BufSz=32767;Rows=0;Libs=0;CSID=0;tats=1;SpCl=0;Hgls=1;TmOut=30;NtNm=APPN;MdNm=QSERVER;CmtLvl=0;RdOy=0;SDK=0;Pkg=1,1,<Default>/<Default>;CdPg=280;IPAdr=111.22.33.444;APPCRtr=10;Server=S4449025;Database=mydb;PWD=mypwd"

    Das waeren 330 Zeichen, 75 zuviel.

    Sicher entsprechen dabei einige Settings den Defaults, jedoch sollten
    viele Einstellung dynamisch gesetzt werden können.

    Zunaechst, du setzt einen 3rd-Party ODBC-Driver ein. Hast du Informationen
    zu den Parametern und welche davon optional sind? Mangels Kenntnis dieses
    Drivers beziehen sich meine Kommentare auf den Standard-Driver:

    - Einige der Parameter muessen nicht im Connection-String stehen, sondern
    koennen nachtraeglich ueber DAO-Eigenschaften gesetzt werden, z.B. ist
    ODBCTimeout eine Eigenschaft des Recordsets. - IPAdr und Server sind redundante Informationen. Einen der Parameter
    solltest du weglassen koennen. - BlkSz, BufSz usw: wirst du die wirklich zur Laufzeit setzen?

    Bezueglich der dynamischen Einstellungen wirst du einen Kompromiss eingehen
    muessen, um unter 255 Zeichen zu kommen.

    Gruss - Peter


    Mitglied im http://www.dbdev.org
    FAQ: http://www.donkarl.com

    Freitag, 30. November 2012 09:20
    Moderator

Alle Antworten

  • Hallo,

    Langschläfer wrote:

    I try to connect to an AS400 DB using DAO/ODBC without registering DSN.

    If the conncettion-string has more than 255 chars, I get the error 3210
    - "Connect string to long"

    Man spricht deuts ;-)

    Den Connection-String mit 255 chars wuerde ich gern mal sehen, moeglichst
    mit fake Adressen und Passwoertern, die aber die richtige Laenge haben.
    Man braucht normalerweise nicht alle Parameter, die automatisch gesetzt
    werden.

    I'd like to use DAO because it's used everywhere else in the program.

    DAO bzw. ACEDAO ist die empfohlene Zugriffsmethode fuer Access -> SQL
    Server.

    Gruss - Peter


    Mitglied im http://www.dbdev.org
    FAQ: http://www.donkarl.com

    Freitag, 30. November 2012 01:22
    Moderator
  • Hallo Peter,

    sorry, ich hatte nicht geschnallt wie das mit Wechsel zwischen DE/US Foren geht..

    Also hier ein Beispiel:

    ConnStr = "ODBC;DRIVER=HiT ODBC/400 Optimized 32bit;UID=MyName;DPC=0;SSL=0;ChCtg=0;CchUI=0;UnqTb=0;HoldC=1;RmBlk=1;BlkSz=512;BufSz=32767;Rows=0;Libs=0;CSID=0;tats=1;SpCl=0;Hgls=1;TmOut=30;NtNm=APPN;MdNm=QSERVER;CmtLvl=0;RdOy=0;SDK=0;Pkg=1,1,<Default>/<Default>;CdPg=280;IPAdr=111.22.33.444;APPCRtr=10;Server=S4449025;Database=mydb;PWD=mypwd"

    Sicher entsprechen dabei einige Settings den Defaults, jedoch sollten viele Einstellung dynamisch gesetzt werden können.

    Viele Grüße aus Hamburg

    Freitag, 30. November 2012 01:47
  • Hallo,

    Langschläfer wrote:

    Also hier ein Beispiel:

    ConnStr = "ODBC;DRIVER=HiT ODBC/400 Optimized 32bit;UID=MyName;DPC=0;SSL=0;ChCtg=0;CchUI=0;UnqTb=0;HoldC=1;RmBlk=1;BlkSz=512;BufSz=32767;Rows=0;Libs=0;CSID=0;tats=1;SpCl=0;Hgls=1;TmOut=30;NtNm=APPN;MdNm=QSERVER;CmtLvl=0;RdOy=0;SDK=0;Pkg=1,1,<Default>/<Default>;CdPg=280;IPAdr=111.22.33.444;APPCRtr=10;Server=S4449025;Database=mydb;PWD=mypwd"

    Das waeren 330 Zeichen, 75 zuviel.

    Sicher entsprechen dabei einige Settings den Defaults, jedoch sollten
    viele Einstellung dynamisch gesetzt werden können.

    Zunaechst, du setzt einen 3rd-Party ODBC-Driver ein. Hast du Informationen
    zu den Parametern und welche davon optional sind? Mangels Kenntnis dieses
    Drivers beziehen sich meine Kommentare auf den Standard-Driver:

    - Einige der Parameter muessen nicht im Connection-String stehen, sondern
    koennen nachtraeglich ueber DAO-Eigenschaften gesetzt werden, z.B. ist
    ODBCTimeout eine Eigenschaft des Recordsets. - IPAdr und Server sind redundante Informationen. Einen der Parameter
    solltest du weglassen koennen. - BlkSz, BufSz usw: wirst du die wirklich zur Laufzeit setzen?

    Bezueglich der dynamischen Einstellungen wirst du einen Kompromiss eingehen
    muessen, um unter 255 Zeichen zu kommen.

    Gruss - Peter


    Mitglied im http://www.dbdev.org
    FAQ: http://www.donkarl.com

    Freitag, 30. November 2012 09:20
    Moderator