如何从.net核心连接到Sybase数据库

时间:2017-04-06 16:00:28

标签: asp.net-core .net-core sybase sybase-ase

我正在尝试从.net核心连接到Sybase数据库,但我找不到任何好的库。有人可以建议库连接到Sybase吗?

3 个答案:

答案 0 :(得分:7)

您可以选择连接到.net core中的ASE数据库:

  1. 为Sybase数据库设置ODBC数据源,并在nuget上使用System.Data.Odbc命名空间/包。此软件包目前处于预发布状态,目标是.net core 2.0+
    • 如果您无法升级到2.02.1,则此选项无效。
    • 有一段时间我尝试使用这个软件包,但在从过程调用中检索返回值时遇到了问题。此外,缺乏对命名参数的支持非常烦人。
  2. 在nuget上使用AdoNetCore.AseClient命名空间/包。
    • 我开始写这篇文章是因为我在使用ODBC时感到沮丧,并且没有其他选择
    • 这旨在支持.net core 1.01.12.0(及2.1发布时)和framework 4.64.6支持的原因是它可以替代。
    • 如果您想阅读资料/文件并确定它是否适合您,那就是available on github
  3. 在一天结束时,两个软件包都实现了ADO.NET接口(IDbConnectionIDbCommand等)的风格,因此设置它们的C#代码将非常相似:

    //System.Data.Odbc style
    using(var connection = new OdbcConnection(...))
    using(var commmand = connection.CreateCommand())
    {
        connection.Open();
        //command stuff, note: named parameters unsupported
    }
    
    //AdoNetCore.AseClient style
    using(var connection = new AseConnection(...))
    using(var commmand = connection.CreateCommand())
    {
        connection.Open();
        //command stuff
    }
    

答案 1 :(得分:4)

我在我的测试.Net Core 2.0项目中使用了MSA.NetCore.ODBC和Dapper。

using System.Collections.Generic;
using System.Data;
using System.Data.Odbc;
using Dapper;

...
public IEnumerable<Book> GetBooks()
{
    using (IDbConnection dbConnection = new OdbcConnection("{your_db_connection}"))
    {
        IEnumerable<Book> books = dbConnection.Query<Book>("select * from books");

        return books;
    }
}

答案 2 :(得分:0)

您是否可以使用Sybase客户端或Sybase SDK for Developers附带的ODBC驱动程序?