Hallo,
ich habe ein ziemliches Problem mit dem SQL-Server 2005 (wahrscheinlich in Verbindung mit openrowset).
Zuerst mal die Vorgeschichte:
Bei dem Kunden lief der SQL-Server 2005 mit Service Pack (die Vollversion) einige Jahre.
Hard- und Software des Servers: Pentium DualCore 3GHz, 4GB RAM, WinXP, SQL-Server 2005 inkl. SP.
Über das Netz wurde über eine VBA-Applikation auf eine View (mit entsprechend selektierten dynamischen Spalten) der DB zugegriffen, was auch problemlos funktionierte.
Vor zwei Monaten wurde das Motherboard kaputt und der Kunde (IT- und Netzwerk-Bereich des Kunden) wechselte es aus.
Seitdem ist weder über die externe Applikation noch über die Management-Konsole ein Zugriff auf die View möglich - es kommt folgende Fehlermeldung:
OLE DB provider "MSDASQL" for linked server "(null)" returned message "[Microsoft][ODBC Excel Driver] Nicht genügend Arbeitsspeicher.".
Msg 7303, Level 16, State 1, Procedure Qv_Schichten, Line 5
Cannot initialize the data source object of OLE DB provider "MSDASQL" for linked server "(null)".
In der Management-Konsole habe ich dann versucht, auf andere Tabellen und auch systeminterne bestehende Views zuzugreifen - alles kein Problem.
Sobald ich aber auf meine selbst generierten beiden Views zugreife, kommt es zum Fehler.
Probeweise habe ich sie dann über die MMK gelöscht und versucht durch einen neuen Query wieder zu erzeugen - leider Abbruch mit obigem Fehler.
Hier mal ein Auszug aus der ersten Sicht:
USE [WWALMDB]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- Sicht für Schichtmodell erzeugen
create view [dbo].[Qv_Schichten]
as
SELECT ID, Aktuell, Modellname, Frueh_Von, Frueh_Bis, Spaet_Von, Spaet_Bis, Nacht_Von, Nacht_Bis, Modellart,
CASE
WHEN ..........................
THEN 'Frueh'
WHEN ..........................
THEN 'Spaet'
WHEN ..........................
THEN 'Nacht'
ELSE NULL
END AS Schicht
FROM OPENROWSET('MSDASQL', 'Driver=Microsoft Excel-Treiber (*.xls);DBQ=C:\Schicht.xls', 'SELECT * FROM [Tabelle1$]') AS derivedtbl_1
Die zweite View (auf die extern zugegriffen werden kann) ist noch komplexer und beinhaltet eine Störtabelle mit integrierter obiger Schichttabelle.
Ich habe auch in der Konfigurationsoberfläche kontrolliert, dass OPENROWSET aktiviert ist und nach Anklicken des Häckchens OLE-Automatisierung (war nie zuvor an) hat plötzlich das Erzeugen der View
einmal geklappt (es waren auch die Spalteninformationen zu sehen), doch ein SELECT auf die VIEW führte wieder zur obigen Fehlermeldung.
Und nach erneutem Löschen der VIEW ließ sie sich auch nicht mehr erzeugen.
Als das alles nichts brachte, habe ich über die Systemsteuerung den MS-SQL-Server komplett de- und reinstalliert, doch leider blieb der Erfolg aus.
Auch das Umkopieren, Löschen und Rückbenennen der Exel-Datei brachte keinen Erfolg.
Habe auch schon einen intensiven Speichertest gemacht - natürlich ohne fehlerhaftes Ergebnis.
Ich habe absolut keine Idee mehr und auch die IT-Spezialisten des Kunden sind ratlos.
Hat irgendjemand aus diesem Forum einen Lösungsansatz?
Besten Dank für die eventuelle Hilfe im Voraus
Franz
ich habe ein ziemliches Problem mit dem SQL-Server 2005 (wahrscheinlich in Verbindung mit openrowset).
Zuerst mal die Vorgeschichte:
Bei dem Kunden lief der SQL-Server 2005 mit Service Pack (die Vollversion) einige Jahre.
Hard- und Software des Servers: Pentium DualCore 3GHz, 4GB RAM, WinXP, SQL-Server 2005 inkl. SP.
Über das Netz wurde über eine VBA-Applikation auf eine View (mit entsprechend selektierten dynamischen Spalten) der DB zugegriffen, was auch problemlos funktionierte.
Vor zwei Monaten wurde das Motherboard kaputt und der Kunde (IT- und Netzwerk-Bereich des Kunden) wechselte es aus.
Seitdem ist weder über die externe Applikation noch über die Management-Konsole ein Zugriff auf die View möglich - es kommt folgende Fehlermeldung:
OLE DB provider "MSDASQL" for linked server "(null)" returned message "[Microsoft][ODBC Excel Driver] Nicht genügend Arbeitsspeicher.".
Msg 7303, Level 16, State 1, Procedure Qv_Schichten, Line 5
Cannot initialize the data source object of OLE DB provider "MSDASQL" for linked server "(null)".
In der Management-Konsole habe ich dann versucht, auf andere Tabellen und auch systeminterne bestehende Views zuzugreifen - alles kein Problem.
Sobald ich aber auf meine selbst generierten beiden Views zugreife, kommt es zum Fehler.
Probeweise habe ich sie dann über die MMK gelöscht und versucht durch einen neuen Query wieder zu erzeugen - leider Abbruch mit obigem Fehler.
Hier mal ein Auszug aus der ersten Sicht:
USE [WWALMDB]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- Sicht für Schichtmodell erzeugen
create view [dbo].[Qv_Schichten]
as
SELECT ID, Aktuell, Modellname, Frueh_Von, Frueh_Bis, Spaet_Von, Spaet_Bis, Nacht_Von, Nacht_Bis, Modellart,
CASE
WHEN ..........................
THEN 'Frueh'
WHEN ..........................
THEN 'Spaet'
WHEN ..........................
THEN 'Nacht'
ELSE NULL
END AS Schicht
FROM OPENROWSET('MSDASQL', 'Driver=Microsoft Excel-Treiber (*.xls);DBQ=C:\Schicht.xls', 'SELECT * FROM [Tabelle1$]') AS derivedtbl_1
Die zweite View (auf die extern zugegriffen werden kann) ist noch komplexer und beinhaltet eine Störtabelle mit integrierter obiger Schichttabelle.
Ich habe auch in der Konfigurationsoberfläche kontrolliert, dass OPENROWSET aktiviert ist und nach Anklicken des Häckchens OLE-Automatisierung (war nie zuvor an) hat plötzlich das Erzeugen der View
einmal geklappt (es waren auch die Spalteninformationen zu sehen), doch ein SELECT auf die VIEW führte wieder zur obigen Fehlermeldung.
Und nach erneutem Löschen der VIEW ließ sie sich auch nicht mehr erzeugen.
Als das alles nichts brachte, habe ich über die Systemsteuerung den MS-SQL-Server komplett de- und reinstalliert, doch leider blieb der Erfolg aus.
Auch das Umkopieren, Löschen und Rückbenennen der Exel-Datei brachte keinen Erfolg.
Habe auch schon einen intensiven Speichertest gemacht - natürlich ohne fehlerhaftes Ergebnis.
Ich habe absolut keine Idee mehr und auch die IT-Spezialisten des Kunden sind ratlos.
Hat irgendjemand aus diesem Forum einen Lösungsansatz?
Besten Dank für die eventuelle Hilfe im Voraus
Franz
Comment