While it's probably safe to choose the driver based on the providerName, I
don't think that's the case for the dialect.
Without connecting to the DB, you can't determine the version.
...but that's actually a possibility......
Diego
On Sat, Aug 14, 2010 at 11:16, Jason Dentler <[email protected]> wrote:
> Here's the JIRA ticket: http://216.121.112.228/browse/NH-2286
>
> Suppose a user has the following in App.Config:
>
> <connectionStrings>
> <add name="db" providerName="System.Data.SQLite" connectionString="..."/>
> </connectionStrings>
> <hibernate-configuration>
> <session-factory>
> <property name="connection.connection_string_name">db</property>
> </session-factory>
> </hibernate-configuration>
>
> Based on the providerName, we should be smart enough to choose the SQLite
> dialect and driver. This is the .NET "standard" for specifying which type of
> DB you are using, and IMO, we should support it. This is a small thing that
> can ease the transition for beginners from Microsoft tech to NHibernate.
>
> Should this be implemented?
> What defaults should we choose?
>
> * Adaptive Server Anywhere: "iAnywhere.Data.SQLAnywhere"
> * DB2: "IBM.Data.DB2"
> * Firebird: "FirebirdSql.Data.FirebirdClient"
> * Ingres: "Ingres.Client"
> * MySQL: "MySql.Data.MySqlClient"
> * Oracle: ODP.NET <http://odp.net/>: "Oracle.DataAccess.Client"
> * Oracle: MS Oracle: "System.Data.OracleClient"
> * SQLite: "System.Data.SQLite"
> * SQL CE: v3.0: "System.Data.SqlServerCe".
> * SQL CE: v3.5: "System.Data.SqlServerCe.3.5".
> * Sybase ASE: "Sybase.Data.AseClient"
>
>
>