Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

SQL Abfrage ind access verursacht ODBC Aufruf fehlgeschlagen

Frage Microsoft Microsoft Office

Mitglied: chrislm

chrislm (Level 1) - Jetzt verbinden

11.03.2013, aktualisiert 16:41 Uhr, 3483 Aufrufe, 2 Kommentare

Hallo.
mittlerweile schleicht sich ein kleines Problem an. Wir füttern eine SQL Datenbank jeden Tag mit Daten über Access als Frontend. In der Datenbank sind zurzeit 218659 Datensätze. Diese werden regelmäßig nach Doppler überprüft. Leider kommt nun sehr oft die Fehlermeldung ODBC Aufruf fehlgeschlagen. Die Timeouts habe ich schon soweit hochgesetzt aber daran lag es nicht. Hat jemand eine Idee woran es liegen könnte? - alles andere Funktioniert.
01.
SELECT [GW-Karten].Name, [GW-Karten].Vorname, [GW-Karten].Strasse, [GW-Karten].PLZ, [GW-Karten].Ort, [GW-Karten].ID, [GW-Karten].[PVA-NR], [GW-Karten].Firmen_KZ, [GW-Karten].Erfassungsdat, [GW-Karten].Doppler, [GW-Karten].[Tel falsch], [GW-Karten].[Karte nicht leserlich], [GW-Karten].[Unterschrift fehlt], [GW-Karten].[Karte ungülltig], [GW-Karten].MJ, [GW-Karten].Ausländer 
02.
FROM [GW-Karten] 
03.
WHERE ((([GW-Karten].Name) In (SELECT [Name] FROM [GW-Karten] As Tmp GROUP BY [Name],[Vorname],[Strasse],[PLZ],[Ort] HAVING Count(*)>1  And [Vorname] = [GW-Karten].[Vorname] And [Strasse] = [GW-Karten].[Strasse] And [PLZ] = [GW-Karten].[PLZ] And [Ort] = [GW-Karten].[Ort])) AND (([GW-Karten].Firmen_KZ)=[Welche Orga?]) AND (([GW-Karten].Erfassungsdat) Between [von Erfassungsdatum?] And [bis Erfassungsdatum?])) 
04.
ORDER BY [GW-Karten].Name, [GW-Karten].Vorname, [GW-Karten].Strasse, [GW-Karten].PLZ, [GW-Karten].Ort;
Mitglied: Biber
11.03.2013, aktualisiert 12.03.2013
Moin chrisIm,

Die Timeouts habe ich schon soweit hochgesetzt aber daran lag es nicht
Kennst du den Ausdruck "Toller Plan" und hast du ihn in letzter Zeit mal von eurem DBA gehört?

Vielleicht könntet ihr einfach diess Klicki-Bunti-generierte Gestrunkele mal von Hand anfassen und einfach etwas Performantes draus machen.
Oder bzw. und ein paar unterstützende Indizes auf diese 10 Felder lange GROUP BY/Alternate key-Unappetitlichkeit legen.

Ist dir folgender kleiner Gag in der Abfrage aufgefallen?
.... WHERE ((([GW-Karten].Name) In (SELECT [Name] FROM [GW-Karten] As Tmp GROUP BY [Name....(+x Felder)..
???

Bedeutet: Wenn die Group-by-Abfrage einen vermeintlich doppelten "Müller", "Thomas" in "12345" "Schwartenkrachdorf" findet...
-> dann werden ALLE Datensätze mit Name="Müller" zurückgeschickt????

Warum dauert die Query wohl so lange?

Dennoch : mit den paar Datensätzen einen SQL-Server/eine Datenbankengine zum Abblocken zu bewegen... das schafft nicht jeder.

--> optimier den Krams.

Aus Interesse: Wie lange braucht denn heute so eine Query, falls sie durchgeht?

Grüße
Biber
Bitte warten ..
Mitglied: chrislm
12.03.2013 um 09:25 Uhr
je nach dem dauert es 30 - 40 Sekunden. Die Abfrage ist von Access generiert worden um Doppler zu finden. Wenn es auch etwas länger dauert, ist es eigentlich immer zweckgemäß. Der vorteil liegt halt daran dass man z.B. was man letzte Woche eingegeben hat mit der kompletten Datenbank die Doppler abgleicht. Danach werden die Doppler von Hand markiert. Wie könnte man denn das Problem besser lösen..?
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
Access DB: ODBC-Verbindung zu Datenbank fehlgeschlagen (2)

Frage von potshock zum Thema Microsoft Office ...

Datenbanken
gelöst SQL Abfrage mit Visual Studio (5)

Frage von specialuser zum Thema Datenbanken ...

Entwicklung
gelöst SQL Abfrage Zeit: JETZT - 30 Sekunden (17)

Frage von Andinistrator1 zum Thema Entwicklung ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
Firewall
Welche Firewall ? (18)

Frage von Cyberurmel zum Thema Firewall ...

Windows Server
gelöst Einzelnes Windows Update über GPO deinstallieren (16)

Frage von lordofremixes zum Thema Windows Server ...

Windows Server
GPO zum Deinstallieren von Office Update wird nicht ausgeführt (15)

Frage von lordofremixes zum Thema Windows Server ...