Announcement

Collapse
No announcement yet.

"Ungültiger Variant-Typ" bei SQL-Server und WIN 2000

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

  • "Ungültiger Variant-Typ" bei SQL-Server und WIN 2000

    Wir haben folgende Tabelle im MS-SQL-Server erzeugt:

    <pre>
    CREATE TABLE [Preise] (
    [Lieferant_ID] [bigint] NOT NULL ,
    [RohrKl_ID] [bigint] NOT NULL ,
    [Artikel_ID] [bigint] NOT NULL ,
    [DName] [varchar] (50) COLLATE Latin1_General_CI_AS NULL ,
    [EKame] [bigint] NULL ,
    [ArtNr] [varchar] (50) COLLATE Latin1_General_CI_AS NULL
    ) ON [PRIMARY]
    GO</pre>

    Sobald wir auf diese Tabelle über ADO (unter Delphi 7) einen neuen Datensatz in einem DBGrid erzeugen, erhalten wir den Fehler: "Ungültiger Variant-Typ" !!!
    <p>
    Diese Fehlermeldung erhalten wir übrigens auch, wenn wir das DEMO-Programm Adotest (aus den Borland Demos) ausführen.
    </p>
    <p>
    Der Fehler taucht aber wiederum nur bei WIN 2000 auf - bei WIN XP erhalten wir den Fehler nicht.</p>
    <p>
    Wenn die Tabelle in der Jet-Engine (Access) betrieben wird tritt der Fehler übrigens auch nicht auf ...</p>
    <p>
    <b>Woher kommt dieser Fehler?</b>
    </p>

  • #2
    Hallo,

    die dbGo-Komponenten (alias ADO Express) der VCL können nicht in jedem Fall fehlerfrei mit INT64-Werten umgehen - nur das direkte Hantieren mit den nativen COM-Objekten von ADO (Connection, Command, Recordset) ist zuverlässig (siehe dazu u.a. <i><a href="/webx?13@@.ee88df7/6">Andreas Kosch "ADO und negativ BigInt Probleme" 07.03.2003 07:53</a></i>).

    &gt;Der Fehler taucht aber wiederum nur bei WIN 2000 auf - bei WIN XP erhalten wir den Fehler nicht.

    Das wird damit zusammenhängen, dass bei Windows XP die MDAC-Version 2.7 vorinstalliert ist, während Windows 2000 nur die Version 2.5 mitbringt. Für den Zugriff auf die neuen Datentypen des MS SQL Server 2000 wird jedoch mindestens die MDAC-Version 2.6 benötigt. Ich würde daher zuerst bei dem betroffenen Rechner in der Registry nachsehen, dort legt das MDAC-Setup unter <i>HKEY_LOCAL_MACHINE\Software\Microsoft\DataAcces s</i> im Schlüssel <b>FullInstallVer</b> die Versionsnummer der MDAC-Installation ab

    Comment

    Working...
    X