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

Daten in SQL Server Express DB importieren

Frage Entwicklung Datenbanken

Mitglied: klie1

klie1 (Level 1) - Jetzt verbinden

08.09.2006, aktualisiert 11.09.2006, 9083 Aufrufe, 5 Kommentare

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?

Mit freundlichen Grüßen
Mitglied: AndreasHoster
08.09.2006 um 12:50 Uhr
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!
Bitte warten ..
Mitglied: klie1
08.09.2006 um 21:25 Uhr
Ad 1. Danke für die ausführliche Antwort. Die DB ist nur für mich zum Experimentieren und für die ersten Programmierschritte gedacht. Mir ist klar, dass damit nur umständlich eine Datenprüfung zu realisieren ist. Für zukünftige Projekte ziehe ich das aber in Betracht.

Kannst du mir beschreiben, wie das mit dem Access-Projekt funktioniert? Ich nehme an, du sprichst von .adp?

Dass mir bei der ODBC-Verbindung nur diese merkwürdigen Tabellen angezeigt wurden, wundert mich schon, da ich im SQL Server Management Studio meine DB eingebunden habe und auf problemlos darauf zugreifen kann. Nur Access scheint blind zu sein und findet sie nicht.

Noch eine weitere Frage: Welche Datenformate eignen sich für Datums- und Zeitangaben? Wenn ich eine Spalte mit einem Datum (TT.MM.YYYY) und eine Spalte mit einer Uhrzeit (HH:MM) in einer Access-Tabelle erstelle und diese nach SQL Server exportiere, dann zeigt mir dieser bei allen Abfragen beide Spalten im Format TT.MM.YYYY HH:MM:SS an. Das führt natürlich zu seltsamen Daten, z.B. 30.12.1899 14:00 in einem Feld der Spalte Uhrzeit.
Bitte warten ..
Mitglied: AndreasHoster
11.09.2006 um 09:05 Uhr
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.
Bitte warten ..
Mitglied: klie1
11.09.2006 um 15:14 Uhr
In SQL existieren von mir angelegte (Benutzer-)DBs aber über ODBC schafft Access den Zugang einfach nicht.

Mittels eines Access-Projektes konnte ich die Datenbank des SQL Server schließlich einbinden. Ich habe in Access eine Tabelle importiert und in SQL Server die Daten der importierten Tabelle in eine bestehende Tabelle geschrieben. In Visual Web Developer sehe ich aber diese Daten nicht!

Ich habe ein Dataset und für jede Tabelle einen TableAdapter erstellt. Ich möchte vermeiden, diese ganze Prozedur noch einmal machen zu müssen. Wieso sieht VisWebDev die importierten Daten nicht? Es ist so, als ob das Dataset den Zustand der Datenbank eingefroren hätte. Es muss doch eine Möglichkeit geben, die Daten bzw. Datenquelle auszutauschen, ohne ein neues Dataset inkl. TableAdapters und zugehöriger Methoden zu erstellen.

Zu Datum und Uhrzeit: Das heißt, in der SQL DB speichere ich in einem Feld das Datum und in einem anderen die Uhrzeit, SQL ergänzt im ersten Fall automatisch die Uhrzeit und im letzten Fall das Datum mit Fantasiewerten, die ich dann nicht anzeigen darf, indem ich das in VisWebDev so konfiguriere?

Mit freundlichen Grüßen
Bitte warten ..
Mitglied: AndreasHoster
11.09.2006 um 16:37 Uhr
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.
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Datenbanken
gelöst 1GB phpMyAdmin SQL Datei in SQL Server 2008 R2 importieren (7)

Frage von Himpke zum Thema Datenbanken ...

Windows Server
gelöst Update von sql server express 2005 sp4 auf 2008 klappt nicht (11)

Frage von jhaustein zum Thema Windows Server ...

Windows Server
gelöst SQLCMD über BAT aufrufen (Sicherung SQL Server Express 2012 (3)

Frage von joeyschweiz zum Thema Windows Server ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (29)

Frage von patz223 zum Thema Windows Userverwaltung ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (20)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...