F#SqlProvider在PostgreSQL中找不到表
对于下面的代码,F#SqlProvider在PostgreSQL中找不到表,postgresql,f#,Postgresql,F#,对于下面的代码,ctx找不到任何表。提供程序似乎正在与数据库建立连接,但只有以下功能: 清除更新 创造性连接 获取更新 提交日期 在智能感知中出现。我已经确认,完全相同的连接字符串可以工作,并且允许在直接使用NpgSql时查询表。我使用的是最新稳定版本的NpgSql、PostgreSQL和最新的SqlProvider预印本,在Visual Studio 2015的F#4.0下 打开FSharp.Data.Sql 让[]connectionString=@“服务器=127.0.0.1;池=fa
ctx
找不到任何表。提供程序似乎正在与数据库建立连接,但只有以下功能:
- 清除更新
- 创造性连接
- 获取更新
- 提交日期
打开FSharp.Data.Sql
让[]connectionString=@“服务器=127.0.0.1;池=false;用户Id=suave;密码=1234;数据库=alphamantiming;”
让[]npgPath=@“C:\projects\AlphaFront\packages\Npgsql.3.0.5\lib\net45”
类型sql=SqlDataProvider<
ConnectionString=ConnectionString,
DatabaseVendor=Common.DatabaseProviderTypes.POSTGRESQL,
ResolutionPath=npgPath,
单个Samount=1000,
UseOptionTypes=true>
设ctx=sql.GetDataContext()
ctx//intellisense中没有显示任何表
我发现问题在于用户权限不足。需要的权限超过默认权限。将用户设置为超级用户会起作用,但我认为还有比这更安全的选项。咨询您附近的DBA。仅供参考-使用3.x版的Npgsql可能会有问题,例如,我更喜欢使用旧的2.x版来避免它。是的,我认为出于我的目的,我将不得不等到SQLProvider更成熟。我希望它能实现,这是一个好主意。
open FSharp.Data.Sql
let [<Literal>] connectionString = @"Server=127.0.0.1;Pooling=false;User Id=suave; Password=1234;Database=AlphamantisTiming;"
let [<Literal>] npgPath = @"C:\projects\AlphaFront\packages\Npgsql.3.0.5\lib\net45"
type sql = SqlDataProvider<
ConnectionString = connectionString,
DatabaseVendor = Common.DatabaseProviderTypes.POSTGRESQL,
ResolutionPath = npgPath,
IndividualsAmount = 1000,
UseOptionTypes = true>
let ctx = sql.GetDataContext()
ctx. //no tables show up in intellisense