Entwickler-Ecke
Datenbanken (inkl. ADO.NET) - Mysql zu Postgesql...
tomycat - Mo 09.11.15 22:02
Titel: Mysql zu Postgesql...
hallo,
ich habe mich eingearbeit mit mysql in verbindung mit Visual Studo 2015.
Installer installiert und dann über Verweise mysql hinzugefügt.
Leider ist mysql sehr teuer, deshalb möchte ich gerne umsteigen auf Postgesql.
https://dist.nuget.org/index.html
NuGet für Visual Studio 2015 rutergeladen und installiert. Leider ist über Verweise nur mssql und mysql drin.
Ein C# Test Programm für postgesql habe ich auch schon. Leider kennt vs kein NpgsqlConnection ? Normal?
Ralf Jansen - Mo 09.11.15 22:50
Kommt drauf an ;) Dein Link führt zu Nuget Installern nicht zu Nuget Packeten von Postgres die man über Nuget installieren könnte. Falscher Link?
Das wäre passender
https://www.nuget.org/packages/Npgsql/
tomycat - Di 10.11.15 21:42
ich glaube wir reden aneinander vorbei.
Ich brauche nur die clint Funktion für vs 2015.
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54:
| using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using Npgsql;
namespace PostgreSQLTEst { public partial class Form1 : Form { private DataSet ds = new DataSet(); private DataTable dt = new DataTable(); public Form1() { InitializeComponent(); } private void llOpenConnAndSelect_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { try { string connstring = String.Format("Server={0};Port={1};User Id={2};Password={3};Database={4};", tbHost.Text, tbPort.Text, tbUser.Text, tbPass.Text, tbDataBaseName.Text ); NpgsqlConnection conn = new NpgsqlConnection(connstring); conn.Open(); string sql = "SELECT * FROM simple_table"; NpgsqlDataAdapter da = new NpgsqlDataAdapter(sql, conn); ds.Reset(); da.Fill(ds); dt = ds.Tables[0]; dataGridView1.DataSource = dt; conn.Close(); } catch (Exception msg) { MessageBox.Show(msg.ToString()); throw; } } } } |
Ich habe über verweise die Npgsql.dll hinzugefügt und NpgsqlConnection war nicht mehr rot unterstrichen.
Nach dem Ausfüllen von den Felder wir User/Pass/Server bekomme ich nach verbinden folgendes Fehlermeldung:
http://tomycat.de/sql.jpg
Mit dem Client Laptop kann ich mit Telnet auf den Postgresql Laptop zugreiden, bzw Telnet reagiert darauf.
Moderiert von Th69: Code- durch C#-Tags ersetzt
Ralf Jansen - Mi 11.11.15 13:41
Der Testcode ist nicht hübsch sollte aber funktionieren (zumindest der Teil bis zum öffnen der Verbindung der bei dir knallt).
Ist der ConnectionString denn korrekt? Da habe ich keinen Blick für. Ich habe mir aber mal den NpgsqlConnectionStringBuilder angeschaut der dir so einen Connection String zusammenbastelt und der würde von "Host" sprechen und nicht von "Server". Möglicherweise erlaubt dein Server auch nur eine verschlüsselte Verbindung oder du hast zwischen den Rechnern ein System das die Kommunikation kaput macht. Firewall, Proxy, AntiVirus etc.
tomycat - Mi 11.11.15 14:43
Die Firewall ist ausgeschaltet.
Der Virenscanner ist Antivir.
Ich habe die Standart Installation von Postgresql für den Server genommen.
Wo kann man die verschlüsselung abschalten, ansonsten schaue ich selber? :-)
Wenn du einen Postgresql Server hast, kannst du bitte den Code mal testen, er ist von Codeprocet.com
Ralf Jansen - Mi 11.11.15 15:10
Zitat: |
Wo kann man die verschlüsselung abschalten, ansonsten schaue ich selber? :-) |
Ich habe nur gesehen das man Verschlüsselung via
ConnectionString [
https://www.connectionstrings.com/npgsql/] für diese Verbindung einschalten kann.
Zitat: |
Wenn du einen Postgresql Server hast, kannst du bitte den Code mal testen, |
Nope. Ich mach hier reine Trockenübungen ;)
tomycat - Mi 11.11.15 21:40
hallo,
hab den Kopf nochmal freigemacht, und nochmal Schritt für Schritt neu angesetzt.
Den Code als Release kompiliert und auf den Server kopiert.
in der pg_hda.conf von md5 auf trust gesetzt. Dann den Laptop neugestartet.
Dann kommt eine Fehlermeldung dass er die simple_table nicht findet.
STIMMT !!!! ->>>
string sql = "SELECT * FROM simple_table";
Ok, angelegt, dann kommt "Tabelle kann nicht ausgelesen werden." ->>>>
dt = ds.Tables[0];
1.Frage:
Ich erstelle eine Spalte mit "testkram" mit pgAdmin. Meine Idee: Den String ändern in "Insert from simple_table testkram 1".
Geht das so einfach? Nur die Zahl 1 reinschreiben.
2.Frage:
Auf den Server habe ich die Firewall abgeschaltet.Clint Laptop: Mit Telnet 192.168.178.111 5432 wird cmd Schwarz und sind 2 Striche da. Aber ich bekomme immernoch die gleiche Meldung:
http://tomycat.de/sql.jpg
Welche .conf muss ich anpassen?
Moderiert von Th69: C#-Tags hinzugefügt
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!