Re: Anfügen von Daten aus SQL-SERVER-TABELLE in ACCESS-TABELLE



Detlev.Kulke@xxxxxxxxxxxxxx <Detlev.Kulke@xxxxxxxxxxxxxx> schrieb:
ich habe es mit OPENDATASOURCE (Befehl: INSERT INTO
OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0','Data Source=z:
\xml.mdb;')...xml_edi SELECT * FROM tabelle) mit ADO versucht und
immer dann ein Problem erhalten, wenn der SQL-Server auf dem
lokalen PC installiert ist
und auch die Access-Datenbank auf dem lokalen PC liegt.

INSERT INTO OPENDATASOURCE(
'Microsoft.Jet.OLEDB.4.0',
/*in Access Datei exportieren,
Dateiname: test.mdb; Tabelle: Tab_1;
Feldnamen; datum, id, bereich*/
'Data Source="w:\sql\export\test.mdb"; User ID=;Password=')...Tab_1
(datum, id, bereich)
SELECT getdate () AS Datum, *
FROM #ware

Wenn ich Dich recht verstehe, sollen alle Felder, die benötigt
werden,
'Data Source="w:\sql\export\test.mdb"; User ID=;Password=')...Tab_1
(alle benötigten Felder)
hier aufgeführt werden.
Ist das richtig?

Ja, genau. Sonst geht das IMHO auch nicht.
Was bei regelmässigen Abfragen auch nicht so das Problem ist, das einmalig anzulegen.

Meine Überlegung ist auch die, alle Abfragen zeitplangesteurt auszuführen, und in eine Accessdatei (sind nicht so riesige Datenmengen) wegzuschreiben. Das erspart mir, die alle einzeln aufzurufen. Wenn hier jemand eine bessere Lösung kennt, oder Du eine in Erfahrung bringst, bin ich auch sehr daran interessiert.

Das Script hatte übrigens noch einen kleinen Fehler (bin halt noch nicht so der Experte). Deshalb noch mal berichtigt. Kannst Du so ausführen, weil für den Test nur temporäre Tabellen erstellt werden. Die Aceess Datei musst Du natürlich nach den Vorgaben erstellen, und auch den Speicherpfad zur Accessdatei im Script anpassen.

--
/* MDB Datei muss bereits existieren.

Tabelle und Feldnamen müssen existieren.

User ID und Passwort ggfs ergänzen - hinter dem '='-Zeichen

neue Werte werden angefügt

Konfiguration:

SQL-Server Oberflächenkonfiguration, Datenbankmodul,

Ad-hoc-Remoteabfragen

aktivieren: Unterstützung von Openrowset und Opendatasource aktivieren

*/

CREATE TABLE #xyz123

( id INT, bereich INT )

INSERT #xyz123 SELECT 1, 2000

INSERT #xyz123 SELECT 1, 3000

INSERT #xyz123 SELECT 4, 3500



INSERT INTO OPENDATASOURCE(

'Microsoft.Jet.OLEDB.4.0',

/*in Access Datei exportieren,

Dateiname: test.mdb; Tabelle: Tab_1;

Feldnamen: datum, id, bereich*/

'Data Source="w:\sql\export\test.mdb"; User ID=;Password=')...Tab_1

(datum, id, bereich)

SELECT getdate () AS Datum, *

FROM #xyz123

GO

drop table #xyz123





--
Viele Grüße
Jörg

.



Relevant Pages

  • MS Access bleibt beim =?ISO-8859-15?Q?=D6ffnen_eines_Formula?= =?ISO-8859-15?Q?rs_st
    ... Betriebssystemname Microsoft Windows XP Professional ... Pfad C:\WINDOWS\system32\msexcl40.dll ... Datei SQLSRV32.dll ... Datum 04.08.2004 14:00:00 ...
    (microsoft.public.de.access)
  • Re: Prozedur zur Kilometerberechnung
    ... Datum smalldatetime NOT NULL PRIMARY KEY ... FahrtenbuchID int not null IDENTITY PRIMARY KEY, ... SELECT 4711, '20050102', 3500 UNION ALL ... FROM tblDatum d, tblFahrtenbuch a, tblFahrtenbuch e ...
    (microsoft.public.de.sqlserver)
  • =?Utf-8?Q?Re:_Doppelte_Eintr=C3=A4ge_filter?=
    ... "Peter Doering" wrote: ... >>> Du brauchst nur das eine gegen das andere Datum austauschen. ... > SELECT Computer, SWProfil, Version, VerteilDatum ... > (SELECT Max(T2.VerteilDatum) ...
    (microsoft.public.de.access)
  • Re: CSV Datei in Access einlesen
    ... Die csv Datei wird jeden Tag um das ... > aktuelle Datum erweitert. ... > zwischen Variablenname und Wert ein Semikolon. ... Dim strSelect As String ...
    (microsoft.public.de.access)
  • Re: Unterschiedlichkeit von Datein feststellen
    ... Mein erster Ansatz war es mit dem Datei ... Datum "last modified" zu versuchen. ... da Du auch vom abfragenden Programm aus nur auf die ... Wir hatten mal das Problem, feststellen zu müssen, wann ein FTP-Upload ...
    (de.comp.lang.java)