0
有沒有辦法在C#中以數據庫不可知的方式查詢PostgreSQL數據庫,即沒有Npgsql。我希望使用內置的.NET庫和一個包含數據庫IP,用戶名,密碼和連接字符串可能需要的任何其他信息的連接字符串。在數據庫不可知的方式(即沒有Npgsql)查詢C#中的PostgreSQL數據庫
有沒有辦法在C#中以數據庫不可知的方式查詢PostgreSQL數據庫,即沒有Npgsql。我希望使用內置的.NET庫和一個包含數據庫IP,用戶名,密碼和連接字符串可能需要的任何其他信息的連接字符串。在數據庫不可知的方式(即沒有Npgsql)查詢C#中的PostgreSQL數據庫
您可以使用ODBC並在您的應用程序內構建連接。 Postgres驅動程序必須安裝在運行程序的機器上。您的應用程序將只能使用通用的ODBC類。下面是一個簡單的例子。
using System.Data.Odbc;
string connectString = "Driver={PostgreSQL UNICODE};Port=5432;Server=localhost;Database=myDBname;Uid=myusername;Pwd=mypassword;";
OdbcConnection connection = new OdbcConnection(connectString);
connection.Open();
string sql = "select version()";
OdbcCommand cmd = new OdbcCommand(sql, connection);
OdbcDataReader dr = cmd.ExecuteReader();
dr.Read();
string dbVersion = dr.GetString(0);
一個選項是[ODBC連接(https://stackoverflow.com/q/41076042/1132334) – dlatikay
能否請您解釋一下爲什麼是Npgsql的不是一個解決方案? –
我想使用內置的.NET庫。此外,ODBC需要安裝DSN並在服務器上安裝驅動程序,這不是一個選項。 .NET框架中沒有內置的類或提供者來實現我想要做什麼? – ranasrule