[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Apr 2011
    Beiträge
    29

    MS-SQL Linked Server zu AS400

    Hallo zusammen,

    ich musste auf einem SQL Server 2005 einen Linked Server (über ODBC) zu einer unserer Maschinen einrichten. Dabei bin ich auf ein Problem gestoßen:
    Für Microsoft ist das kleinstmögliche Datum der 1.1.1753, aber auf der AS/400 ist das kleinste Datum der 01.01.0001.

    Wenn ich jetzt auf dem SQL Server einen SELECT absetze der ein DATE Feld zurückliefert, dann kommt immer der Fehler "Fehler beim Konvertieren des DBTYPE_DBTIMESTAMP-Datentyps in datetime.". Erst ab SQL Server 2008 gibts einen entsprechenden Datentyp DATETIME2 in MS SQL.

    Kennt jemand einen Weg mit dem ich trotzdem an die Tabelleninhalte der AS400 komme?

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Du kannst den Wert ja beim Select casten oder wenn 1.1.0001 auf NULL setzen:

    char(MyDate)

    case
    when MyDate = '0001-01-01' then NULL
    else MyDate
    end as MyDate
    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
    Apr 2011
    Beiträge
    29
    Hatte ich auch mal probiert, klappt aber auch nicht:
    "Bei der Konvertierung eines char-Datentyps in einen datetime-Datentyp liegt der datetime-Wert außerhalb des gültigen Bereichs."

    Auch mit ISNULL(DB2_DATE_COLUMN) komme ich nicht weiter...

  4. #4
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    ... keine Erfahrung mit linked Server, aber wennd er auf eine View zugreifen kann, dann kann man das Käse Construct auf der AS/400 in eine View packen. Oder halt von der AS/400 mit ArdGate auf den SQL Server zugreifen...

    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/

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    ISNULL kann ja nicht weiterhelfen, da der Wert ja nicht NULL ist.

    Also bleibt dir nur die View für den CASE oder der Upgrade auf SQL-Server 2008.
    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

  6. #6
    Registriert seit
    Aug 2001
    Beiträge
    2.873
    Zitat Zitat von Fuerchau Beitrag anzeigen
    ISNULL kann ja nicht weiterhelfen, da der Wert ja nicht NULL ist.

    Also bleibt dir nur die View für den CASE oder der Upgrade auf SQL-Server 2008.
    ... während IFNULL einen NULL-Wert in einen Default-Wert konvertiert, konvertiert NULLIF einen Default-Wert in einen NULL-Wert!

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 4. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

Similar Threads

  1. Java JDBC Sperre
    By Xanas in forum NEWSboard Java
    Antworten: 11
    Letzter Beitrag: 29-11-10, 12:45
  2. AS400 auf SQL Server
    By DEVJO in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 12-10-06, 18:28
  3. iSeries Access ODBC Driver und MS SQL Server ...
    By rcauchy in forum NEWSboard Windows
    Antworten: 1
    Letzter Beitrag: 23-06-05, 13:28
  4. MS Sql Server + iSeries -> Verbindungsserver
    By reraru in forum NEWSboard Programmierung
    Antworten: 13
    Letzter Beitrag: 20-04-05, 13:07
  5. AS/400 Zugriff via Linked Server unter SQL Server 2000
    By epsih2 in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 29-11-04, 10:06

Berechtigungen

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