代码之家  ›  专栏  ›  技术社区  ›  detroitpro

从F连接到Oracle#

  •  6
  • detroitpro  · 技术社区  · 14 年前

    如何从F#连接到oracle?是否有驱动器或我可以加载C#驱动器?我是新来的。

    1 回复  |  直到 14 年前
        1
  •  9
  •   kvb    14 年前

    您可以使用与C#-.NET中相同的库互操作性是F#的关键特性之一。基类库中有一些类可以使用(在系统数据Oracle.dll),但这些已经被弃用,取而代之的是Oracle自己的.NET驱动程序(Oracle Data Provider for.NET)。

    F#代码使用ODP.NET可能看起来像:

    #if INTERACTIVE
      #r "System.Data"
      #r "Oracle.DataAccess"
    #endif
    
    open System.Data
    open Oracle.DataAccess.Client
    
    let conn = OracleConnection("User Id=scott;Password=tiger;Data Source=oracle")
    conn.Open()
    
    let cmd = conn.CreateCommand()
    cmd.CommandText = "select * from emp"
    
    let rdr = reader = cmd.ExecuteReader()
    
    let empIds = 
      [while reader.Read() do
         yield reader.GetInt32(0)]