2016-02-24 51 views
2

使用下面的代碼,ctx找不到表格。該供應商似乎正與數據庫的連接,但只有功能:F#SqlProvider在PostgresSql中找不到表格

  • ClearUpdates
  • CreationConnection
  • GetUpdates
  • SubmitUpdates

顯示在IntelliSense起來。我已經確認完全相同的連接字符串的作用,並允許直接使用NpgSql時查詢表。我Npgsql的使用和PostgreSQL,最新的穩定版本,sqlProvider的最新preprelease時,Visual Studio 2015年之下,F#4.0

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 
+1

只是FYI - 使用版本3.x的Npgsql可能會有問題,例如, https://github.com/fsprojects/SQLProvider/issues/188,https://github.com/fsprojects/SQLProvider/issues/154我更喜歡使用舊的2.x版本來避免它。 – eternity

+0

是的,我認爲我的目的,我只需要等到SQLProvider更成熟。我希望它到達那裏,這是一個整潔的想法。 – jackmott

回答

2

我發現這個問題是用戶權限不足。需要超過默認權限。將用戶設置爲超級用戶將起作用,但我認爲還有比這更安全的選項。諮詢您附近的DBA。