GRom Geschrieben 7. März 2011 Geschrieben 7. März 2011 Hallo Leute, ich bin ganz neu hier und wende mich an euch in meiner Verzweiflung. Ich arbeite an meinem Abschlußprojekt und komme jetzt nicht weiter. Ich habe vor mit C# ein Programm zu schreiben womit ich bestimmte Daten in eine Access 2010 Datenbank reinschreiben kann. Ausserdem soll die Datenbank auf einem SQL Server 2008 Express gespeichert werden. Der Server ist auf dem Lokalen rechner installiert wo ich auch Programmiere. So und jetzt zu meinem Problem. Um die Daten auf dem Server zu speichern muss ich die C# Anwendung und den Server verbinden. Ich weis nicht wie und was ich lieber benutzen soll ODBC oder OLEDB. Und wo ist der unterschied? Ich hofe meine Beschreibung ist wenigstens etwas hilfreich gewesen. Wäre nett wenn einer von euch mir helfen könnte. Danke. Zitieren
Klischeepunk Geschrieben 7. März 2011 Geschrieben 7. März 2011 (bearbeitet) ODBC - Google-Suche OLEDB - Google-Suche ^^ /e: Kleiner tip: Google Parameter "inurl:msdn" verwenden Bearbeitet 7. März 2011 von Klischeepunk /e Zitieren
GRom Geschrieben 7. März 2011 Autor Geschrieben 7. März 2011 Ja die ganze Suche habe ich schon hinter mir. Es hat mich nur mehr verwirt. Man kann sowohl OleDB als auch ODBC verwenden aber wenn ich Using.System.Data.SqlClient oder using System.Data.oleDB eingegeben habe und den Verbindungsstrin: string DBConn = "Provider=MEIN-PC\\SQLEXPRESS;" + "Initial Catalog=ImmoDB_SQL;" + "User ID= root;" + "Password="; geschrieben habe komme ich danach nicht mehr weiter. Und kommt bitte nicht mit Google Suche, ich suche schon seit 2 Tagen. Jeder benutzt etwas anderes und deshalb komme ich nicht weiter. Wie stelle ich eine verbindung her um die Access DB auf dem SQL Server 2008 zu beschreiben? Danke. Zitieren
Klischeepunk Geschrieben 7. März 2011 Geschrieben 7. März 2011 siehe Microsoft code-beispiele, Google Parameter: inrul:msdn Viele Infos. Gute Infos. Funktionierende Infos. Dass dein String alleine erstmal gar nichts macht ist dir ja hoffentlich klar? Zitieren
lbm1305 Geschrieben 11. März 2011 Geschrieben 11. März 2011 Wie stelle ich eine verbindung her um die Access DB auf dem SQL Server 2008 zu beschreiben? Danke. Für eine Access DB brauchst MS Access und keinen SQL-Server. MS Access Anbindung erfolgt über OLEDB aus den Namespace System.Data.OleDb, für SQL-Server nutzt man System.Data.SqlClient Zitieren
GRom Geschrieben 13. März 2011 Autor Geschrieben 13. März 2011 Heist das soviel wie das ich nicht beides verwenden kann? Entweder Access oder SQL Server? Das wäre ja ein Ding. Was namespace angeht hast du ja vollkommen rech aber wenn ich meine Access Datenbank auf den SQL Server 2008 R2 importiere kann ich doch mit C# die datenbank beschreiben ......... oder etwa nicht? Oder meinst du ich bin da auf dem Holzweg? Es wäre nicht so toll wenn es so ist aber deswegen habe ich auch um hilfe gebeten da ich nicht so viel Ahnung von habe. Zitieren
lbm1305 Geschrieben 13. März 2011 Geschrieben 13. März 2011 Heist das soviel wie das ich nicht beides verwenden kann? Entweder Access oder SQL Server? Das wäre ja ein Ding. Was namespace angeht hast du ja vollkommen rech aber wenn ich meine Access Datenbank auf den SQL Server 2008 R2 importiere kann ich doch mit C# die datenbank beschreiben ......... oder etwa nicht? Oder meinst du ich bin da auf dem Holzweg? Es wäre nicht so toll wenn es so ist aber deswegen habe ich auch um hilfe gebeten da ich nicht so viel Ahnung von habe. Die kannst eine MS Access Datenbank in den SQL-Server migrieren. MS Access bietet dafür auch eine Option an. Eine .mdb (bzw. accdb) Datei kann man aber nicht einfach in den SQL-Server einhängen. .NET Programmiersprachen sollten mit Datenbanksystemen aus dem Haus Microsoft keine Probleme haben. D.h. Du kannst MS-Access und SQL-Server sogar parallel betreiben. Aber egal welches DBMS du verwendest, das Absetzen einen Kommandos spielt sich immer in der gleichen Reihenfolge ab. 1. Connection erstellen 2. command erzeugen 3. Command gegen das DBMS schicken 4. Ergebnis der Abfrage auswerten. Wie das geht, wurde Dir bereits mit einigen Links aufgezeigt. Zusätzlich wäre noch das Galileo Openbook für C# zu empfehlen. Da gibt ein Kaptitel ADO.NET, welches das Zugreifen auf Datenbanken erläutert und an Beispielen zeigt. Zitieren
GRom Geschrieben 13. März 2011 Autor Geschrieben 13. März 2011 Muss ich eigentlich im Projektmappen-Explorer unter verweisen irgentwelche dll's vom SQL Server mit anbinden? Zitieren
lbm1305 Geschrieben 13. März 2011 Geschrieben 13. März 2011 Muss ich eigentlich im Projektmappen-Explorer unter verweisen irgentwelche dll's vom SQL Server mit anbinden? Was ist denn in den Beispielen angegeben? Zitieren
GRom Geschrieben 13. März 2011 Autor Geschrieben 13. März 2011 Ja schon gut ich hätte erst dort nachsehen müssen :upps:D. Man muss eine System.Configuration.dll in den Verweisen einfügen. Zitieren
lbm1305 Geschrieben 13. März 2011 Geschrieben 13. März 2011 Man muss eine System.Configuration.dll in den Verweisen einfügen. Kommt drauf an, was Du machen möchtest. "Müssen" tut man nichts. Zitieren
GRom Geschrieben 13. März 2011 Autor Geschrieben 13. März 2011 Ach das auch noch................... Mir platzt bald der Schädel. Wie gesagt ich habe zuerst eine MS Access 2010 Datenbank angelegt mit 9 Tabellen die keine Datensätze drin haben. danach habe ich den SQL Server 2008 R2 Installiert. Als nechstes habe ich mit dem Import/Export Manager die Access Datenbank importiert und zwar mit der Datenquelle habe ich "MS Office 12.0 Access Database Engine for OLEDB Provider" genommen. Und in meiner C# anwendung habe ich das stehen: using System.Data.SqlClient; string VerbString = "Data Source=(local);" + "Initial Catalog=ImmoDB;" + "Integrated Security=sspi"; und dann als Methode SqlConnection myCon_KD_Makler = new SqlConnection(VerbString); // Abfrage myCon_KD_Makler.Open(); string KD_Abfrage = "INSERT INTO 'ImmoDB' 'dbo.tbl_Kontaktdaten_lokal' ('AnzeigenArt', 'KontaktName', 'Vorname', 'Ort', 'Straße', 'PLZ', 'TelNr', 'EMail', 'Weblink')" + "VALUES ('" + comboBox1.SelectedItem + "','" + comboBox2.SelectedItem + "','" + textBox1 + "','" + textBox2 + "','" + textBox3 + "','" + textBox4 + "','" + textBox5 + "','" + textBox6 + "')"; myCon_KD_Makler.Close(); unten noch eine click-Methode um das ganze zu übernehmen: private void button1_Click_1(object sender, EventArgs e) { if (comboBox1.SelectedIndex.ToString() == "Makler") { Kontaktdaten_beschreiben_Makler(); } else if (comboBox1.SelectedIndex.ToString() == "Privat") { //Kontaktdaten_beschreiben_Privat(); } Und wie gesagt will ich aus der C# anwendung über einen SQL Server auf die Access Datenbank zugreifen. Ich weis ich habe es vieleicht unnötig kompex gemacht aber das ist halt die Aufgabe von mir. Es hängt nur an dem Beschreiben der DB. P.S. Muss ich den ODBC Treiber vieleicht einrichten damit Access mit SQL Server komunizieren können :confused: Danke Zitieren
Thanks-and-Goodbye Geschrieben 13. März 2011 Geschrieben 13. März 2011 1. Warum erstellst du die Tabellen in Access, wenn du sie in MS SQL brauchst? 2. Warum willst du eine doppelte Datenhaltung? Sowohl in SQL wie in Access? Zitieren
GRom Geschrieben 13. März 2011 Autor Geschrieben 13. März 2011 Ich weis das macht für euch wenig Sinn aber es wäre schön wenn mir einer da ein paar Tips gibt. Wenn es allerdings sehr sehr sehr...............sehr aufwendig ist dann muss ich mich wohl von meinem Vorhaben abwenden. Ich weis es wäre viel einfacher wenn ich von meiner C# Anwendung auf MySQL, SQL Server, Oracel, Access zugreifen würde aber es ist halt meine Aufgabe (Ich wiederhole mich ) Haltet mich bitte nicht für blöd ich bin nur ein anfänger. :bimei Zitieren
Thanks-and-Goodbye Geschrieben 13. März 2011 Geschrieben 13. März 2011 Wenn du keine inkonsistenten Daten haben willst, brauchst du eine einzige, definierte Datenquelle. Definiere für dich, in welcher Datenbank die Daten gespeichert werden sollen. Nein, es macht keinen Sinn, den gleichen Datenbestand in verschiedenen Datenbanken gleichzeitig zu speichern. Zitieren
lbm1305 Geschrieben 13. März 2011 Geschrieben 13. März 2011 Für einen Anfänger solltest Du es erst einmal hinbekommen, auf ein DBMS zu zugreifen. Wobei das von Dir angedeutete Szenario keinen Sinn ergibt. Vielleicht solltest Du es genauer beschreiben. Zitieren
lbm1305 Geschrieben 13. März 2011 Geschrieben 13. März 2011 Ansonsten gäbe es noch die Möglichkeit a) Über einen Verbindungsserver, findet man im SSMS unter ServerObjekte --> kein C# etc. notwendig Daten aus dem SQL-Server abfragen und dann entweder direkt in Access einzufügen oder den Weg über DataSets zu gehen Für brauchst du zwei Connections (SQL und MS Access) Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.