[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jan 2005
    Beiträge
    90

    Question VB .NET Connection zu DB2 via IBM.Data.DB.iSeries

    Hallo zusammen,

    ich connecte via IBM.Data.DB.iSeris auf die DB2.
    Das klappt soweit auch.
    Ich sehe unter wrkactjob meine Jobs, beende ich das Programm, sind diese dort auch wieder weg.

    Wenn ich nun via netstat -> 3, die Jobs meiner IP suche, habe ich die "4 Pärchen"
    as-svrmap
    as-signon
    as-svrmap
    as-data >

    Soweit, so gut.
    Wenn ich mein Programm nun beende und neu starte, werden nicht die vier oben aufgeführten Jobs verwendet, sondern 4 neue auf gemacht und die anderen 4 bzw. 3 idlen dann und sind irgendwann weg.

    Aus der Vergangenheit (Noch unter VB6) weiß ich, das unser Programm, immer die gleichen Jobs unter Netstat verwendet hat bzw. keine neuen auf gemacht hat.

    Gibt es hier etwas zu beachten?
    Ich habe etwas Bedenken, das irgendwann mal die Ports "ausgehen" (Wäre zwar weit hin bis dahin aber wenn es vermieden werden kann?).

    Ich verbinde mich mit der iSeries wie folgt:

    Code:
            
    Dim connectionString As String
    Dim connection As iDB2Connection = Nothing
    
    connectionString = String.Format("DataSource={0};UserID={1};Password={2};", serverIp, userName, userPassword)
    connection = New iDB2Connection(connectionString)
    connection.Open()



    Die Verbindung wird über
    Code:
    connection.Close()
    connection.Dispose()

    geschlossen.

    Mache ich noch was falsch?
    Ich habe es auch mit weiteren Parametern wie z.B.:
    Code:
    connectionString = String.Format("DataSource={0};UserID={1};Password={2};DataCompression=true;ConnectionTimeout=30;EnablePreFetch=false;Pooling=true;CheckConnectionOnOpen=true;MinimumPoolSize=1;MaximumPoolSize=-1;", serverIp, userName, userPassword)
    versucht.

    Das Ergebnis bleibt das Gleiche.

    Danke für eure Zeit

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Die "as-xxx"-Jobs sind ausschließlich Servicejobs. Wann und wie oft die gestartet werden obliegt halt den Services. Wobei der Service "as-database" nur für die Initiierung einer ODBC-Verbindung steht.

    Sobald deine Datenbankverbindung geöffnet ist, arbeitest du mit einem QZDASONIT-Job.
    Dies ist der SQL-Servicejob für genau die eine Verbindung.

    Per "WRKOBJLCK MYUSER *USRPRF" wird dir dieser dann auch angezeigt.

    Trägst du z.B. "TRACE=n;" in deine Verbindungsfolge ein, kannst du die Debugausgaben in dem QZDASOINT-Job verfolgen.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Mar 2002
    Beiträge
    5.286
    ... alles im grünen Bereich, die Connections werden Server seitig in einem Pool von vorgestarteten Jobs verwaltet.

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  4. #4
    Registriert seit
    Jan 2005
    Beiträge
    90
    Hallo Fuerchau,
    hallo BenderD,

    das bedeutet, das ich darauf keinen Einfluss habe und das System das selbstständig macht?
    Hatte mich nur gewundert, da es wie geschrieben, bei einem VB6-Produkt (Allerdings via ODBC-Connect) immer so war, das er die bisherigen Service Jobs "recycled" hat und diese dann weiter verwendet hat.

  5. #5
    Registriert seit
    Jan 2005
    Beiträge
    90
    Hall Fuerchau,

    ich habe zum Test mal die Ergänzung im connection-String gemacht:
    connectionString = String.Format("DataSource={0};UserID={1};Password= {2};Trace=N;", serverIp, userName, userPassword)

    und erhalte nun die Meldung:
    "The ConnectionString property is invalid."

  6. #6
    Registriert seit
    Mar 2002
    Beiträge
    5.286
    Zitat Zitat von Toschie Beitrag anzeigen
    Hallo Fuerchau,
    hallo BenderD,

    das bedeutet, das ich darauf keinen Einfluss habe und das System das selbstständig macht?
    Hatte mich nur gewundert, da es wie geschrieben, bei einem VB6-Produkt (Allerdings via ODBC-Connect) immer so war, das er die bisherigen Service Jobs "recycled" hat und diese dann weiter verwendet hat.
    ... vielleicht hat die Anwendung die Connections auf Client Seite gepooled, was im Java Bereich oft gefordert ist, aber gegen die DB2/400 nicht viel bringt.

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  7. #7
    Registriert seit
    Jan 2005
    Beiträge
    90
    Ok,

    dem werde ich dann nochmal auf den Grund gehen.

    Wie sieht es grundsätzlich aus, wenn man sich mit der iSeries verbinden möchte?
    Wie erhalte ich die beste Performance?

    Bei meinem Vorhaben geht es um den Abruf von Massen-Daten und der späteren Bereitstellung an eine Druck-Api.

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Da kann man keine pauschale Aussage treffen da es zu viele Abhängigkeiten gibt.
    Ich habe da Transferraten von 100 Sätze/Sekunde bis 2000 Sätze/Sekunde.
    Abhängig von Indexoptimierung bis hin zur Netzwerkgeschwindigkeit.
    Wenn das Netz relativ zu ist (auch bei 1GBit = netto ca. 100MByte) bekommt man halt nur ein paar MB/Sekunde durch.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  9. #9
    Registriert seit
    Jan 2005
    Beiträge
    90
    Ok, danke für die Antwort.
    Dann gehe ich anders an die Frage ran.
    Wie machen es die Profis?
    Wenn wir mal davon ausgehen, dass die Dateien über logische, etc. sauber geschlüsselt sind.

    Bisher haben wir immer via odbc zugegriffen.
    Man liest immer wieder, das bei odbc die Performance nicht die beste sein soll.
    Daher die Frage, wie ihr sowas macht.

  10. #10
    Registriert seit
    Mar 2002
    Beiträge
    5.286
    Zitat Zitat von Toschie Beitrag anzeigen
    Ok, danke für die Antwort.
    Dann gehe ich anders an die Frage ran.
    Wie machen es die Profis?
    Wenn wir mal davon ausgehen, dass die Dateien über logische, etc. sauber geschlüsselt sind.

    Bisher haben wir immer via odbc zugegriffen.
    Man liest immer wieder, das bei odbc die Performance nicht die beste sein soll.
    Daher die Frage, wie ihr sowas macht.
    ... ich kann nur sagen, wie ich es mache:
    - Festlegung Anforderung Transaktionsraten
    - Abschätzung Transaktionsvolumina
    - bei hohen Transaktionsvolumina und oder hohem Durchsatz
    -- Vorab Evaluierung mit Zugriffsmodellen
    - first make it right, then make it fast
    - Optimierung:
    -- messen
    -- Analyse: Warum dauert das so lang, wie es dauert
    -- Index?, Parallelisierung?, ??
    -- messen!!!
    - alle Meinungen von "Experten" und denen, die sich dafür halten oder gehalten werden sind Kaffeesatz
    - was zählt sind Messungen im Realumfeld
    - Hardware ist oft billiger als Software Optimierung

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

Similar Threads

  1. vb6 ADODB.Connection Latin 2 DB
    By Toschie in forum NEWSboard Programmierung
    Antworten: 9
    Letzter Beitrag: 02-09-14, 15:23
  2. Telnet connection dauert extrem lange
    By Mr-Ferret in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 28-02-14, 11:35
  3. RDi 9.01 Fehler Connection
    By camouflage in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 03-02-14, 10:45
  4. Data Warehouse für iSeries
    By it-wolf in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 11-03-03, 12:26
  5. Wireless Connection
    By Jutta in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 01-10-02, 10:20

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •