From the FSharp.Data.Sql.Common.DatabaseProviderTypes
enumeration. For PostgreSQL,
use Common.DatabaseProviderTypes.POSTGRESQL
.
let [<Literal>] dbVendor = Common.DatabaseProviderTypes.POSTGRESQL
Basic connection string used to connect to PostgreSQL instance; typical
connection strings for the driver apply here. See
PostgreSQL Connecting Strings Documentation
for a complete list of connection string options.
let [<Literal>] connString = "Host=localhost;Database=test;Username=test;Password=test"
Instead of storing the connection string in the source code / fsx
script, you
can store values in the App.config
file. This is the name of the
connectionString key/value pair stored in App.config (TODO: confirm file name).
// found in App.config (TOOD: confirm)
let [<Literal>] connexStringName = "DefaultConnectionString"
Path to search for assemblies containing database vendor specific connections
and custom types. Type the path where Npgsql.Data.dll
is stored.
let [<Literal>] resPath = @"C:\Projects\Libs\Npgsql"
Sets the count to load for each individual. See individuals
for further info.
let [<Literal>] indivAmount = 1000
If true, F# option types will be used in place of nullable database columns.
If false, you will always receive the default value of the column's type, even
if it is null in the database.
let [<Literal>] useOptTypes = true
Indicates the schema or schemas to which SqlProvider will try to provide access to.
Multiple schemas can be indicated, separated by commas or semicolons.
Defaults to "public".
let [<Literal>] owner = "public, admin, references"
type sql =
SqlDataProvider<
dbVendor,
connString,
"", //ConnectionNameString can be left empty
resPath,
indivAmount,
useOptTypes,
owner>
val connectionString: string
Multiple items
type LiteralAttribute =
inherit Attribute
new: unit -> LiteralAttribute
<summary>Adding this attribute to a value causes it to be compiled as a CLI constant literal.</summary>
<category>Attributes</category>
--------------------
new: unit -> LiteralAttribute
[<Literal>]
val resolutionPath: string = "C:\git\SQLProvider\docs\content\core..\..\..\files\sqlite"
Multiple items
namespace FSharp
--------------------
namespace Microsoft.FSharp
Multiple items
namespace FSharp.Data
--------------------
namespace Microsoft.FSharp.Data
namespace FSharp.Data.Sql
[<Literal>]
val dbVendor: Common.DatabaseProviderTypes = 2
namespace FSharp.Data.Sql.Common
[<Struct>]
type DatabaseProviderTypes =
| MSSQLSERVER = 0
| SQLITE = 1
| POSTGRESQL = 2
| MYSQL = 3
| ORACLE = 4
| MSACCESS = 5
| ODBC = 6
| FIREBIRD = 7
| MSSQLSERVER_DYNAMIC = 8
| MSSQLSERVER_SSDT = 9
Common.DatabaseProviderTypes.POSTGRESQL: Common.DatabaseProviderTypes = 2
[<Literal>]
val connString: string = "Host=localhost;Database=test;Username=test;Password=test"
[<Literal>]
val connexStringName: string = "DefaultConnectionString"
[<Literal>]
val resPath: string = "C:\Projects\Libs\Npgsql"
[<Literal>]
val indivAmount: int = 1000
[<Literal>]
val useOptTypes: bool = true
[<Literal>]
val owner: string = "public, admin, references"
type sql = obj
type SqlDataProvider
<summary>Typed representation of a database</summary>
<param name='ConnectionString'>The connection string for the SQL database</param>
<param name='ConnectionStringName'>The connection string name to select from a configuration file</param>
<param name='DatabaseVendor'> The target database vendor</param>
<param name='IndividualsAmount'>The amount of sample entities to project into the type system for each SQL entity type. Default 1000.</param>
<param name='UseOptionTypes'>If set, F# option types will be used in place of nullable database columns. If not, you will always receive the default value of the column's type even if it is null in the database.</param>
<param name='ResolutionPath'>The location to look for dynamically loaded assemblies containing database vendor specific connections and custom types.</param>
<param name='Owner'>Oracle: The owner of the schema for this provider to resolve. PostgreSQL: A list of schemas to resolve, separated by spaces, newlines, commas, or semicolons.</param>
<param name='CaseSensitivityChange'>Should we do ToUpper or ToLower when generating table names?</param>
<param name='TableNames'>Comma separated table names list to limit a number of tables in big instances. The names can have '%' sign to handle it as in the 'LIKE' query (Oracle and MSSQL Only)</param>
<param name='ContextSchemaPath'>The location of the context schema previously saved with SaveContextSchema. When not empty, will be used to populate the database schema instead of retrieving it from then database.</param>
<param name='OdbcQuote'>Odbc quote characters: Quote characters for the table and column names: `alias`, [alias]</param>
<param name='SQLiteLibrary'>Use System.Data.SQLite or Mono.Data.SQLite or select automatically (SQLite only)</param>
<param name='SsdtPath'>A path to an SSDT .dacpac file.'</param>