Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core Sybase ASE 16x和.NET Core 1.1进行SP调用_Asp.net Core_Sybase_Sap Ase - Fatal编程技术网

Asp.net core Sybase ASE 16x和.NET Core 1.1进行SP调用

Asp.net core Sybase ASE 16x和.NET Core 1.1进行SP调用,asp.net-core,sybase,sap-ase,Asp.net Core,Sybase,Sap Ase,我正在使用Visual Studio 2017(第15.2版)。核心1.1和使用Sybase ASE 16.0 sp2。我还在Sybase SDK 16.0中使用Sybase.AdoNet4.AseClient.dll public IEnumerable<Countries> GetCountry() { var con = new AseConnection(ConnectionString); // No Errors var cmd

我正在使用Visual Studio 2017(第15.2版)。核心1.1和使用Sybase ASE 16.0 sp2。我还在Sybase SDK 16.0中使用Sybase.AdoNet4.AseClient.dll

public IEnumerable<Countries> GetCountry()
    {

        var con = new AseConnection(ConnectionString); // No Errors
        var cmd = con.CreateCommand(); // Error described below

        return null;
    }
public IEnumerable GetCountry()
{
var con=new-AseConnection(ConnectionString);//无错误
var cmd=con.CreateCommand();//下面描述的错误
返回null;
}
CreateCommand()
在IDE(弯曲的红线)中生成以下内容:
类型“Db连接”是在未引用的程序集中定义的。您必须添加对程序集'system.Data,Version=4.0.0.0,Culture=neutral,PublicKey=b77a5c561934e089'的引用。

我装的是每包的

  • 安装软件包System.Data.Common-版本4.1.0,该软件包已加载,但错误仍然存在
  • 安装软件包System.Data.Common-版本4.3.0,该软件包已加载,但错误仍然存在
  • 已尝试安装软件包System.Data.Common-版本4.0.0, 但得到一个错误(如下所示):
  • 已尝试安装包System.Data.Common-版本 4.0.0.0,但得到相同的错误(如下所示):
安装程序包:程序包还原失败。正在回滚“iKYC.API”的包更改。 第1行字符:16
+安装包我设置了一个项目来测试这个,有趣的是,如果你的目标是 它将构建
.netcore2.0
而不是
1.1

但是,这会导致运行时错误System.MissingMethodException,因为驱动程序正在查找.net core中尚不存在的方法(和名称空间?)

原因是
Sybase.AdoNet4.AseClient.dll
的目标是.net framework 4,而不是.net core。它甚至在文件名(
AdoNet4
)中提示它

目前看来,这个驱动程序与.net内核不兼容。也许有一天,当丢失的方法被移植到.net内核时。。。可能有用吗

幸运的是,有两种选择:

  • 使用名称空间/包
    System.Data.Odbc
    目前处于预发布状态,并将目光投向目标
    .net core 2.0+
    。如果您被链接到
    .net core 1.1
    ,则可能不适合您。
    • 就我个人而言,我把
      System.Data.Odbc
      包弄乱了,虽然它可以处理简单的东西,但我遇到了一些问题。特别是,似乎没有任何方法可以从正在工作的存储过程中获取返回值,并且缺少对命名参数的支持(我认为这是一种
      ODBC
      的东西),使得使用它变得困难
  • 使用名称空间/包。在经历了很多挫折之后,我咬紧牙关,开发了一个
    ADO.NET
    驱动程序,它的目标是
    .netcore1.0
    1.1
    2.0
    ,以及
    .netframework4.6
    。如果您想查看源代码/文档,并确定它是否适合您,那么它非常有用。
    • 要使用此驱动程序,只需引用包并使用Sybase.Data.AseClient替换
      编码

  • 有人成功使用Sybase with CORE吗?我们一直在努力。要阅读一些文档并查看其当前支持的内容的更详细说明,。感谢您让我知道,我已经开始使用[Link][ODBC Preview Package][1],但尚未测试性能。我会看看你的链接![1]: