Generic provider for .Net - Mailing list pgsql-general

From Rob Richardson
Subject Generic provider for .Net
Date
Msg-id 04A6DB42D2BA534FAC77B90562A6A03DBF26CE@server.rad-con.local
Whole thread Raw
In response to Installing the Npgsql provider for .Net  ("Rob Richardson" <Rob.Richardson@rad-con.com>)
Responses Re: Generic provider for .Net  ("Francisco Figueiredo Jr." <francisco@npgsql.org>)
List pgsql-general
My stumbling through the wilds of .Net, ADO.Net and PostGRESQL continues...
 
I left out a critical requirement from my discussion of .Net providers:  They must be compatible with some generic data type inside a .Net application.  The most that is allowed to change is a connection string.  If I use ODBC, I can access the database through OdbcConnection and its related classes.  All I have to do to change from PostGRESQL to SQL Server is to change from a DSN that refers to a PostGRESQL database to a DSN that refers to a SQL Server database.  When I was trying to get the PgOleDb provider to work, I was using the OleDbConnectioni class and its relatives with this connection string:
 
"Provider=PostgreSQL OLE DB Provider;Data Source=localhost;location=Great_Lakes_10_09;User ID=caps;Password=asdlkjqp" 
 
Somewhere in the depths of the registry, "PostgreSQL OLE DB Provider" is associated with the PgOleDb provider.  If I want to connect to a SQL Server database, I presume that I would be just change the name of the provider in this string to another name that is associated in the registry with a SQL Server provider.  I need a PostGRESQL provider that can be used through an OleDbConnection object just by using a connection string like:
 
"Provider=Some PostgreSQL Provider That Actually Works;Data Source=localhost;location=Great_Lakes_10_09;User ID=caps;Password=asdlkjqp" 
 
All of this is because the first thing a user sees when he starts our application is a dialog box in which he selects a database.  An ini file contains the list of available names, and each name is associated with a connection string.  When the user selects a name from a listbox, the connection string is read from the ini file.  So the only thing I can change once the application is built is the connection string.  The code has to work for PostGRESQL, SQL Server, and any other reasonably popular database system.  We can't have one version of the code built for PostGRESQL and another for SQL Server.  Therefore, unless there's some other way of setting it up, I cannot use Npgsql because I cannot use an NpgsqlConnection object.
 
RobR
 
 

pgsql-general by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: Slow Vacuum was: vacuum output question
Next
From: "Scott Marlowe"
Date:
Subject: Re: Slow Vacuum was: vacuum output question