Daten in SQL Server Express DB importieren
Hallo,
Vorab ein Gruß an alle, da dies mein erster Beitrag in diesem Forum ist. Nun zu meiner Frage.
Ich habe vor kurzem mit der Entwicklung in Visual Studio 2005 Express begonnen. Als Datenbank möchte ich SQL Server verwenden, da Parameterabfragen mit einer Access-DB Probleme verursachen und viele Tutorials auf SQL-DBs bezogen sind. Ich möchte meine Zeit nicht damit verbringen, Fehler zu beseitigen und herauszufinden, wie ich Anweisungen für SQL in Access umsetzen kann, deshalb meine Entscheidung für eine SQL Server-DB.
Für die Dateneingabe möchte ich aufgrund des Komforts Excel verwenden. Das Autoausfüllen und C&P geht dort einfach wesentlich schneller. Diese Daten sollen dann in eine bestimmte Tabelle in der SQL-DB importiert werden.
Die einzige Lösung scheint momentan der Umweg über Access zu sein, indem ich die Excel-Tabelle dort importiere, eine Verknüpfung zur SQL-DB erstelle und die Daten in Access in die SQL-Tabelle schreibe. Ich komme jedoch nur soweit, dass ich über ODBC eine Verbindung erstelle. Wenn Access einen Dialog öffnet, in dem die zu verknüpfende Tabelle auszuwählen ist, stehen dort nur kryptische Einträge wie dbo.MSreplication_options oder information_schema.check_constrai aber ich finde meine DB nicht. Damit endet mein Importversuch ohne Erfolg.
Wie kriege ich das hin? Gibt es vielleicht sogar eine einfachere, schnellere Möglichkeit zum Datenimport?
mfg
Vorab ein Gruß an alle, da dies mein erster Beitrag in diesem Forum ist. Nun zu meiner Frage.
Ich habe vor kurzem mit der Entwicklung in Visual Studio 2005 Express begonnen. Als Datenbank möchte ich SQL Server verwenden, da Parameterabfragen mit einer Access-DB Probleme verursachen und viele Tutorials auf SQL-DBs bezogen sind. Ich möchte meine Zeit nicht damit verbringen, Fehler zu beseitigen und herauszufinden, wie ich Anweisungen für SQL in Access umsetzen kann, deshalb meine Entscheidung für eine SQL Server-DB.
Für die Dateneingabe möchte ich aufgrund des Komforts Excel verwenden. Das Autoausfüllen und C&P geht dort einfach wesentlich schneller. Diese Daten sollen dann in eine bestimmte Tabelle in der SQL-DB importiert werden.
Die einzige Lösung scheint momentan der Umweg über Access zu sein, indem ich die Excel-Tabelle dort importiere, eine Verknüpfung zur SQL-DB erstelle und die Daten in Access in die SQL-Tabelle schreibe. Ich komme jedoch nur soweit, dass ich über ODBC eine Verbindung erstelle. Wenn Access einen Dialog öffnet, in dem die zu verknüpfende Tabelle auszuwählen ist, stehen dort nur kryptische Einträge wie dbo.MSreplication_options oder information_schema.check_constrai aber ich finde meine DB nicht. Damit endet mein Importversuch ohne Erfolg.
Wie kriege ich das hin? Gibt es vielleicht sogar eine einfachere, schnellere Möglichkeit zum Datenimport?
mfg
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-Key: 39676
Url: https://administrator.de/contentid/39676
Ausgedruckt am: 28.03.2024 um 10:03 Uhr
5 Kommentare
Neuester Kommentar
Wo fangen wir da jetzt an?
1. Excel als Frontend ist keine gute Idee, da man in Excel-Zellen alles eintragen kann, eine Datenbank aber definierte Spaltentypen hat, z.B. Integer. Wenn man jetzt in Excel Buchstaben einträgt -> Rumms, ein Fehler.
Access als Frontend ist da viel besser, da wird drauf geachtet, daß in ein Zahlenfeld nur Zahlen reinkommen.
2. Wenn Access als Frontend, dann würde ich kein ODBC machen, sondern ein Access-Projekt, dann laufen nämlich auch die Abfragen auf dem SQL Server (performanter) und man die Tabellen und Sichten mit dem Designer von Access anlegen.
3. Zu Deinen kryptischen Einträgen: Das sind einfach die Systemtabellen der ausgewählten Datenbank. Wenn da noch keine Benutzertabellen drin sind, dann sieht man halt auch keine. Und Access kann über eine ODBC Verbindung keine neuen Tabellen anlegen oder verändern!
1. Excel als Frontend ist keine gute Idee, da man in Excel-Zellen alles eintragen kann, eine Datenbank aber definierte Spaltentypen hat, z.B. Integer. Wenn man jetzt in Excel Buchstaben einträgt -> Rumms, ein Fehler.
Access als Frontend ist da viel besser, da wird drauf geachtet, daß in ein Zahlenfeld nur Zahlen reinkommen.
2. Wenn Access als Frontend, dann würde ich kein ODBC machen, sondern ein Access-Projekt, dann laufen nämlich auch die Abfragen auf dem SQL Server (performanter) und man die Tabellen und Sichten mit dem Designer von Access anlegen.
3. Zu Deinen kryptischen Einträgen: Das sind einfach die Systemtabellen der ausgewählten Datenbank. Wenn da noch keine Benutzertabellen drin sind, dann sieht man halt auch keine. Und Access kann über eine ODBC Verbindung keine neuen Tabellen anlegen oder verändern!
Die kryptischen Tabellen sind in Deiner Datenbank.
Eine Datenbank auf dem SQL Server enthalten immer Systemtabellen wie syscolumns, syscomments etc.
Hast Du im SQL Manager Tabellen angelegt und siehst diese nur im SQL Manager, aber nicht in Access?
Benutzt Du zum Zugriff auf den SQL Server von beiden Programmen denselben User? Du kannst auf Tabellenebene nämlich Berechtigungen vergeben.
Es gibt keine getrennten Datum und Uhrzeit Datentypen auf dem SQL Server, es gibt nur Date/Time (und Timestamp, aber das ist dafür nicht gedacht).
Man muß dann einfach bei der Ausgabe es so formatieren, daß man nur das Datum oder die Zeit ausgibt.
Ein Access Projekt ergibt eine .adp Datei.
Funktioniert ganz einfach: Einfach Access öffnen, Datei -> Neu auswählen und dort Projekt aus bestehenden Daten auswählen. Danach wird man nach Name der ADP Datei gefragt, auf welchem Server welche Datenbank dazugehört etc. Das wars.
Eine Datenbank auf dem SQL Server enthalten immer Systemtabellen wie syscolumns, syscomments etc.
Hast Du im SQL Manager Tabellen angelegt und siehst diese nur im SQL Manager, aber nicht in Access?
Benutzt Du zum Zugriff auf den SQL Server von beiden Programmen denselben User? Du kannst auf Tabellenebene nämlich Berechtigungen vergeben.
Es gibt keine getrennten Datum und Uhrzeit Datentypen auf dem SQL Server, es gibt nur Date/Time (und Timestamp, aber das ist dafür nicht gedacht).
Man muß dann einfach bei der Ausgabe es so formatieren, daß man nur das Datum oder die Zeit ausgibt.
Ein Access Projekt ergibt eine .adp Datei.
Funktioniert ganz einfach: Einfach Access öffnen, Datei -> Neu auswählen und dort Projekt aus bestehenden Daten auswählen. Danach wird man nach Name der ADP Datei gefragt, auf welchem Server welche Datenbank dazugehört etc. Das wars.
Kenne den Visual Web Developer nicht, kann Dir dazu also nichts sagen.
Zum Datum/Zeit:
Wenn das Datum und die Uhrzeit zusammengehören, also z.B. Du willst mitloggen, wann sich jemand anmeldet, dann schreib doch einfach die Datum/Zeit Kombination in eine Spalte.
Ansonsten tatsächlich in 2 Spalten eintragen.
Und es gibt keine Phantasiewerte sondern bei einem Nur-Zeiteintrag ist das Datum auf 01.01.1900 gestellt und bei einem Nur-Datumseintrag die Zeit auf 00:00.
Dies kommt daher, daß die Zeit intern eine Dezimalzahl ist, die ganzen Zahlen ergibt die Tage ab 01.01.1900 und die Zeit ist der Bruchteil nach dem Komma.
1,5 ist daher 02.01.1900 12:00
12:00 -> 0,5
03.01.1900 -> 2
Da dieser Typ beides kann, gibt es keine getrennten Datum / Zeit Datentypen.
Zum Datum/Zeit:
Wenn das Datum und die Uhrzeit zusammengehören, also z.B. Du willst mitloggen, wann sich jemand anmeldet, dann schreib doch einfach die Datum/Zeit Kombination in eine Spalte.
Ansonsten tatsächlich in 2 Spalten eintragen.
Und es gibt keine Phantasiewerte sondern bei einem Nur-Zeiteintrag ist das Datum auf 01.01.1900 gestellt und bei einem Nur-Datumseintrag die Zeit auf 00:00.
Dies kommt daher, daß die Zeit intern eine Dezimalzahl ist, die ganzen Zahlen ergibt die Tage ab 01.01.1900 und die Zeit ist der Bruchteil nach dem Komma.
1,5 ist daher 02.01.1900 12:00
12:00 -> 0,5
03.01.1900 -> 2
Da dieser Typ beides kann, gibt es keine getrennten Datum / Zeit Datentypen.