{"id":55000034,"date":"2016-04-01T00:00:00","date_gmt":"2020-03-27T19:18:47","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=34"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Von_der_mdbDatei_zum_SQL_Server","status":"publish","type":"post","link":"https:\/\/vbentwickler.de\/Von_der_mdbDatei_zum_SQL_Server\/","title":{"rendered":"Von der .mdb-Datei zum SQL Server"},"content":{"rendered":"<p><b>Der Datenzugriff von .NET auf eine .mdb-Datei ist m&ouml;glich, aber die vollen M&ouml;glichkeiten erlaubt erst beispielsweise eine Datenbank, die mit dem SQL Server verwaltet wird. Da viele Leser wohl von der Access-Schiene kommen, d&uuml;rfte der eine oder andere seine Datenbank zum SQL Server transferieren wollen, um damit von einer .NET-Anwendung aus zu experimentieren. Dieser Artikel zeigt, wie Sie eine Migration der Tabellen und Abfragen einer Anwendung schnell realisieren.<\/b><\/p>\n<p>Voraussetzung f&uuml;r die Durchf&uuml;hrung der hier vorgestellten Techniken ist das Vorhandensein einer zu migrierenden Access-Datenbank sowie einer Instanz des SQL Servers.<\/p>\n<p>Au&szlig;erdem wollen wir den <b>SQL Server Migration Assistent for Access <\/b>(kurz <b>SSMA<\/b>) nutzen, um die Migration durchzuf&uuml;hren. Diesen laden Sie von der folgenden Webseite herunter:<\/p>\n<p><b>https:\/\/www.microsoft.com\/en-us\/download\/confirmation.aspxid=43690<\/b><\/p>\n<p>Nach dem Download starten Sie direkt den Setup-Assistenten des SSMA. Die dazu n&ouml;tigen Schritte sind selbsterkl&auml;rend.<\/p>\n<h2>Start des SQL Server Migration Assistants<\/h2>\n<p>Der Assistent wird standardm&auml;&szlig;ig mit dem SSMA aufgerufen und liefert vorab eine Liste der anstehenden Aufgaben (siehe Bild 1).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2016_02\/pic_34_001.png\" alt=\"Startdialog des SSMA-Assistenten\" width=\"600\" height=\"186,9132\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 1: Startdialog des SSMA-Assistenten<\/span><\/b><\/p>\n<p>Im ersten Schritt fragt der Assistent dann direkt den Namen des zu erstellenden SSMA-Projekts ab (nicht zu verwechseln mit dem Namen der zu erstellenden Datenbank) sowie den Speicherort der Projektdatei (siehe Bild 2).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2016_02\/pic_34_002.png\" alt=\"Angabe des Namens des Migrationsprojekts und des Speicherortes\" width=\"600\" height=\"273,1152\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 2: Angabe des Namens des Migrationsprojekts und des Speicherortes<\/span><\/b><\/p>\n<h2>Quelldatenbank ausw&auml;hlen<\/h2>\n<p>Der folgende Schritt des Assistenten fragt dann den Namen der Access-Datenbank ab, deren Tabellen in eine SQL Server-Datenbank &uuml;bertragen werden sollen (siehe Bild 3). Hier w&auml;hlen wir die Datei <b>Suedsturm.mdb <\/b>aus, da wir deren Tabellen f&uuml;r folgende Artikel als Beispieldatenbank verwenden wollen.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2016_02\/pic_34_003.png\" alt=\"Hinzuf&uuml;gen der zu migrierenden Access-Datenbank\" width=\"650\" height=\"196,0171\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 3: Hinzuf&uuml;gen der zu migrierenden Access-Datenbank<\/span><\/b><\/p>\n<p>Danach folgt die Auswahl der zu migrierenden Tabellen und Abfragen (siehe Bild 4). Wir wollen an dieser Stelle nur Tabellen &uuml;bertragen, also aktivieren wir nur den Haken des Eintrags <b>Tabellen <\/b>und erweitern die darunter befindlichen Elemente (die Migration von Abfragen ist auch nicht sonderlich ergiebig). Im rechten Bereich sehen Sie dann die Eigenschaften der Tabellen, insbesondere der Indizes und Schl&uuml;sselfelder.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2016_02\/pic_34_004.png\" alt=\"Auswahl der zu migrierenden Tabellen und Felder sowie ihrer Eigenschaften\" width=\"550\" height=\"358,9389\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 4: Auswahl der zu migrierenden Tabellen und Felder sowie ihrer Eigenschaften<\/span><\/b><\/p>\n<h2>M&ouml;gliche Probleme<\/h2>\n<p>Bei meiner Konstellation (Windows 10, Office 2016 32bit) gab es ein Problem beim Zugriff auf die zu migrierende Access-Datenbank, das sich im Auftauchen eines Ausrufezeichens wie in Bild 5 zeigte. Dieses tritt manchmal auf, wenn man die falsche Version des SSMA verwendet, also die 32bit-Variante mit dem 64bit-Office oder die 64bit-Variante mit dem 32bit-Office. Sollten bei Ihnen im Migrationsassistenten keine Tabellen angezeigt werden und ein Ausrufezeichen im Icon der Datenbank erscheinen, ist dies m&ouml;glicherweise der Fall. Achten Sie dann darauf, die Version des SSMA zu starten, die zu Ihrem Office-Paket passt (also etwa SSMA 32bit zu Office 32bit).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2016_02\/pic_34_005.png\" alt=\"Problem mit dem Einlesen der Datenbank\" width=\"425\" height=\"218,1416\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 5: Problem mit dem Einlesen der Datenbank<\/span><\/b><\/p>\n<p>Das Problem kann noch eine weitere Ursache haben. Dabei fehlen bestimmte Komponenten beziehungsweise sie liegen nicht in der richtigen Version vor. Laden Sie dann die Komponente <b>Microsoft Access Database Engine 2010 Redistributable <\/b>von folgender Internetadresse herunter:<\/p>\n<p><b>https:\/\/www.microsoft.com\/de-DE\/download\/details.aspxid=13255<\/b><\/p>\n<p>Anschlie&szlig;end sollte der Fehler nicht mehr auftreten. Die Komponente ist zwar f&uuml;r 2010 ausgezeichnet, aber es funktioniert bei mir auch unter Access 2016.<\/p>\n<h2>Ziel festlegen<\/h2>\n<p>Im folgenden Schritt geben Sie den Namen der SQL Server-Instanz ein, in der die neue Datenbank erstellt werden soll. Leider zeigt der Dialog aus Bild 6 in unserem Fall keine Liste der verf&uuml;gbaren SQL Server an, sodass wir diesen manuell eintragen mussten. Auch erschien nach der Eingabe keine Liste der vorhandenen Datenbank, was aber keine Rolle spielte, da wir diese ja ohnehin neu erstellen wollten. Wir haben der Datenbank den Namen <b>Suedsturm_SQL <\/b>gegeben.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2016_02\/pic_34_006.png\" alt=\"Festlegen der SQL Server-Instanz und der Zieldatenbank\" width=\"550\" height=\"358,9389\" \/><\/p>\n<div class=\"rcp_restricted\"><p><span style=\"color: #ff0000;\">M&ouml;chten Sie weiterlesen? Dann l&ouml;sen Sie Ihr Ticket!<\/span><br \/>\n<span style=\"color: #ff0000;\">Hier geht es zur Bestellung des Jahresabonnements des Magazins <strong>Visual Basic Entwickler<\/strong>:<\/span><br \/>\n<span style=\"color: #ff0000;\"><a style=\"color: #ff0000;\" href=\"https:\/\/shop.minhorst.com\/magazine\/363\/visual-basic-entwickler-jahresabonnement?c=77\">Zur Bestellung ...<\/a><\/span><br \/>\n<span style=\"color: #ff0000;\">Danach greifen Sie sofort auf <strong>alle rund 200 Artikel<\/strong> unseres Angebots zu - auch auf diesen hier!<\/span><br \/>\n<span style=\"color: #000000;\">Oder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:<\/span><\/p>\n<\/div>\n\n\t\n\t<form id=\"rcp_login_form\"  class=\"rcp_form\" method=\"POST\" action=\"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000034\/\">\n\n\t\t\n\t\t<fieldset class=\"rcp_login_data\">\n\t\t\t<p>\n\t\t\t\t<label for=\"rcp_user_login\">Username or Email<\/label>\n\t\t\t\t<input name=\"rcp_user_login\" id=\"rcp_user_login\" class=\"required\" type=\"text\"\/>\n\t\t\t<\/p>\n\t\t\t<p>\n\t\t\t\t<label for=\"rcp_user_pass\">Password<\/label>\n\t\t\t\t<input name=\"rcp_user_pass\" id=\"rcp_user_pass\" class=\"required\" type=\"password\"\/>\n\t\t\t<\/p>\n\t\t\t\t\t\t<p>\n\t\t\t\t<input type=\"checkbox\" name=\"rcp_user_remember\" id=\"rcp_user_remember\" value=\"1\"\/>\n\t\t\t\t<label for=\"rcp_user_remember\">Remember me<\/label>\n\t\t\t<\/p>\n\t\t\t<p class=\"rcp_lost_password\"><a href=\"\/data\/wp\/v2\/posts\/55000034?rcp_action=lostpassword\"><\/a><\/p>\n\t\t\t<p>\n\t\t\t\t<input type=\"hidden\" name=\"rcp_action\" value=\"login\"\/>\n\t\t\t\t<input type=\"hidden\" name=\"rcp_redirect\" value=\"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000034\/\"\/>\n\t\t\t\t<input type=\"hidden\" name=\"rcp_login_nonce\" value=\"d3a54aea21\"\/>\n\t\t\t\t<input id=\"rcp_login_submit\" class=\"rcp-button\" type=\"submit\" value=\"Login\"\/>\n\t\t\t<\/p>\n\t\t\t\t\t<\/fieldset>\n\n\t\t\n\t<\/form>\n<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Der Datenzugriff von .NET auf eine .mdb-Datei ist m&ouml;glich, aber die vollen M&ouml;glichkeiten erlaubt erst beispielsweise eine Datenbank, die mit dem SQL Server verwaltet wird. Da viele Leser wohl von der Access-Schiene kommen, d&uuml;rfte der eine oder andere seine Datenbank zum SQL Server transferieren wollen, um damit von einer .NET-Anwendung aus zu experimentieren. Dieser Artikel zeigt, wie Sie eine Migration der Tabellen und Abfragen einer Anwendung schnell realisieren.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[66022016,662016,44000008,44000020,44000006,44000022],"tags":[],"yst_prominent_words":[66062051,66062047,66062059,66062053,66062046],"class_list":["post-55000034","post","type-post","status-publish","format-standard","hentry","category-66022016","category-662016","category-Datenzugriffstechnik","category-Entity_Framework_Core","category-SQL_Server_und_Co","category-Von_Access_zu_NET"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000034","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/comments?post=55000034"}],"version-history":[{"count":0,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000034\/revisions"}],"wp:attachment":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/media?parent=55000034"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/categories?post=55000034"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/tags?post=55000034"},{"taxonomy":"yst_prominent_words","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/yst_prominent_words?post=55000034"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}