C#.NET + PostgreSQL
Szukam pracy nad projektem, który wykorzystuje C#.NET (siedząc na polu windows) jako podstawowy język i PostgreSQL jako baza danych zaplecza (zaplecze znajduje się na polu linux). Słyszałem, że ODBC.NET pozwala na łatwą integrację tych dwóch komponentów.
Czy ktoś miał doświadczenie w ustawianiu C# i PostgreSQL do współpracy? Jeśli tak, czy masz jakieś sugestie, jak to zrobić, problemy, które znalazłeś, itp.?
8 answers
Pracuję z C# i Postgresem używając komponentu Npgsql2 i działają szybko, polecam.
Możesz pobrać z https://github.com/npgsql/Npgsql/releases
Uwaga: Jeśli chcesz mieć aplikację działającą z dowolną bazą danych, możesz użyć klasy DbProviderFactory i tworzyć zapytania używając IDbConnection, IDbCommand, interfejsy IDataReader i / lub idbtransaction.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-18 09:27:53
Npgsql - dostawca. Net dla PostGreSQL - jest doskonałym sterownikiem. Jeśli korzystałeś z bardziej tradycyjnych ADO.NET framework masz tu naprawdę szczęście. Mam kod, który łączy się z Oracle, który wygląda prawie identycznie jak połączenia PostGreSQL. Łatwiejsze przejście od wyroczni i ponowne wykorzystanie komórek mózgowych.
Obsługuje wszystkie standardowe rzeczy, które chcesz zrobić z wywołaniem SQL, ale obsługuje również wywołanie Funkcji (procedur składowanych). Obejmuje to zwracanie kursorów referencyjnych . Dokumentacja jest dobrze napisana i dostarcza użytecznych przykładów bez filozoficznych lub tajemnych. Wykradnij kod bezpośrednio z Dokumentacji i będzie działać natychmiast.
Francisco Figueiredo, Jr i zespół wykonali świetną robotę z tym.
Jest teraz dostępny na Github.
https://github.com/franciscojunior/Npgsql2
The better site for info na: http://npgsql.projects.postgresql.org/
Przeczytaj dokumentację! http://npgsql.projects.postgresql.org/docs/manual/UserManual.html
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-04-02 17:01:39
Istnieje dostawca Linq dla PostgreSQL w https://www.nuget.org/packages/linq2db.PostgreSQL/.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-12-28 14:41:44
Stworzyliśmy kilka aplikacji wykorzystujących visual studio 2005 z devart ado.net Data provider for PostgreSql (http://www.devart.com/pgsqlnet/).
Jedną z zalet tego dostawcy jest to, że zapewnia pełną obsługę Visual Studio. Najnowsze wersje zawierają wszystkie nowe funkcje frameworka, takie jak linq.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-09 12:12:05
Obecnie większość języków / platform (Java,. NET, PHP, Perl itp.) może pracować z niemal każdym DBMS (SQL Server, Firebird, MySQL, Oracle, PostgresSQL itp.) więc nie martwiłbym się ani przez sekundę. Jasne, że mogą być usterki i małe problemy, ale nie showstopper.
Jak zasugerował jalcom, powinieneś programować na podstawie zestawu interfejsów lub przynajmniej zestawu klas bazowych (DbConnection, DbCommand itd.), aby mieć łatwą do dostosowania aplikację.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-06 00:04:37
Nie powinieneś mieć zbyt wielu problemów. Jak już wspomnieli inni, dostępnych jest wielu dostawców danych. Net PostgreSQL. Jedną z rzeczy, na które warto zwrócić uwagę, jest to, że funkcje takie jak Linq prawdopodobnie nie będą mogły być używane.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-06 00:23:10
Nie pozwól, aby brak wsparcia Linq Cię powstrzymał. Wzorzec, którego używam, to zawsze zwracanie moich danych na listy, a następnie LINQ. Zacząłem to robić religijnie, kiedy odkryłem, że to samo (co prawda niejasne) wyrażenie Linq w MySQL nie przywróciło tych samych danych, co w SQL Server.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-09-26 21:02:01
Po prostu przejdź do Narzędzia-->NuGet Package Manager-- > Manager NuGet Package Manager
Wyszukaj NpgSql , a następnie wybierz swój projekt i kliknij Zainstaluj
Przykładowy Kod
public void Demo()
{
NpgsqlConnection connection = new NpgsqlConnection();
connection = d_connection; // your connection string
connection.Open();
NpgsqlCommand cmd = new NpgsqlCommand();
try
{
cmd.Connection = connection;
cmd.CommandText = "select * from your table name";
cmd.CommandType = System.Data.CommandType.Text;
using (var dataReader = cmd.ExecuteReader())
{
while (dataReader.Read())
{
string answer= dataReader.IsDBNull(0) ? "" : dataReader.GetString(0);
}
dataReader.Dispose();
}
}
catch (Exception e)
{
}
finally
{
cmd.Dispose();
connection.Dispose();
}
}
Nie używaj wielkich liter w postgreSql, ponieważ rozróżnia wielkość liter.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-11-30 07:29:13