Re: Access2SQL Performance Probleme



Hallo Alexander,

Alexander Baumgart <al.baumgart@xxxxxx> schrieb ...
>> Alexander Baumgart <al.baumgart@xxxxxx> schrieb ...
>>> ich habe eine bestehende Anwendung von Access auf MSDE als DB Engine
>>> umgestellt. Leider ist die Performancen eher schlechter gewurden.
>>
>>> In einigen kleineren Projekten habe ich
>>> genrell immer INSERT INTO + Execute Methode eines Command-Objects
>>> benutzt. Koennte das Vorteile bringen ?
>>
>> Da Du C++ verwendest, kannst Du mehr rausholen, wenn Du die
>> IRowsetFastLoad Schnittstelle verwendest. Die nutzt die gleichen
>> SQL Server Schnittstelle wie bcp / BULK INSERT.
>
> Habe mich per BCP ueber BULK INSERT mal herangetastet und die
> Performance ist wahnsinn im Vergleich zu frueher. Von ~5sec auf ~0.5
> sec wurde das Einfuegen von 4000 Datensetzen gedrueckt.

Gerate nicht vorschnell in einen Geschwindigkeitsrausch! ;-)
BULK INSERT/bcp wie IRowsetFastLoad unterliegen diversen Einschränkungen,
die Du in der SQL Server Dokumentation im Abschnitt "Massenkopieren"
und "Verwenden von "bcp" und BULK INSERT" findest.
Als generelle Lösung ist das nicht anzuwenden, sobald Du mehr
als nur einfügst/Daten lädst.

> Nun besteht in der Tat der Wunsch auf die C API umzusteigen und
> Access als DB links liegen zu lassen.

Da wäre zunächst zu klären welche C-API Du meinst.
Die OLEDB IRowsetFastLoad Schnittstelle ist abgeleitet aus einer
Erweiterung, die bereits in ODBC/DB-Library als bcp API existierte
und ist immer nur an das jeweilige Kern-API angelehnt.

> Gibt empfehlenstwertes Buchmaterial zur C API ?

Die meisten Titel sind für Sprachen wie VB/VBA geschrieben
und berücksichtigen meist nur ADO.
Mir ist bisher kein spezieller über den Weg gelaufen.
Ich interpoliere das selbst anhand der MDAC Dokumentation
aus meinen in anderen Sprachen erworbenen Kenntnissen.

Wenns Deine Migration für die weitere Zukunft ist, solltest Du
bedenken, dass alle Schnittstellen (DB-Library/ODBC/OLEDB)
in näherer Zukunft an Bedeutung verlieren, da mittlerweile
der Fokus bei Microsoft auf ADO.NET liegt - und Ähnlichkeiten
im Namen zu ADO sind dort rein zufällig.
Mit ADO.NET 2.0/SQL Server 2005 wird die Bulk Insert Schnittstelle
ebenfalls direkt verfügbar sein.
Und mit der SQL Server 2005 April CTP wäre für die MSDE 2000
der SQL Server Express die zukunftsweisende Alternative.

Gruss
Elmar


.



Relevant Pages

  • Konfiguration der Netzwerkeinstellungen
    ... Auf dem Server ist jetzt mit der ersten CD-ROM das Serverbetriebssystem installiert. ... Die Premium-Technologies und der SBS sind noch nicht drauf. ... Das ist die IP-Adresse, unter die der SBS im internen Netzwerk erreichbar ist. ... -Die externe Schnittstelle sollte im gleichen Subnetz liegen wie die internet Schnittstelle der Hardware-Firewall oder des DSL-Routers. ...
    (microsoft.public.de.german.backoffice.smallbiz)
  • Bulk Import Fails on Remote SQL Instance
    ... When using the Bulk Import cocmponent in an SSIS package, ... instance of SQL Server, fails. ...
    (microsoft.public.sqlserver.dts)
  • Re: VBA - Create a recordset with no records for inserting
    ... directly into the server, I can run a PROC that gets files from my desktop. ... The ServiceBroker will construct the dynamic SQL statement to BULK INSERT the ...
    (microsoft.public.data.ado)
  • Re: Routing und RAS verhindert AD-Replikation
    ... Server nur eine Netzwerkkarte, dann wähle dort die Option. ... Andernfalls wird PPTP/L2TP an die einzige LAN-Verbindung gebunden und ... Port 1701. ... an diese einzige Schnittstelle gebunden und nicht ausschließlich, ...
    (microsoft.public.de.german.win2000.active_directory)
  • Re: Remoting , Wann werden Objekte bei einem Singleton auf dem Host zerstört
    ... Die Datenzugriffsklasse auf dem Server muss folgende Schnittstelle ... Der Client implementiert beim Start die Schnittstelle ...
    (microsoft.public.de.german.entwickler.dotnet.vb)