【发布时间】:2017-08-30 02:12:19
【问题描述】:
我打算使用 IBM DB .NET Provider for MS .NET Core,无论我每次尝试使用它时如何创建上下文,我都会收到以下错误。
“索引(从零开始)必须大于或等于零且小于参数列表的大小。”
上下文类
public class IBMContext : DbContext
{
public IBMContext()
: base()
{
}
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseDb2(@"Server=server;Database=DB;userid=user;password=pass",
p => p.SetServerInfo(IBMDBServerType.AS400, IBMDBServerVersion.AS400_07_01));
}
public virtual DbSet<Table> Table{ get; set; }
}
模型.cs
[Table("Table")]
public class Table
{
[Key]
public int Key{ get; set; }
public string Stat{ get; set; }
public string Jul{ get; set; }
public string App { get; set; }
public string Date { get; set; }
}
使用
static void Main(string[] args)
{
Console.WriteLine("Test");
var context = new IBMContext();
var result = context.Table.ToList();
Console.ReadLine();
}
包
IBM.EnityFrameworkCore(1.1.1.101)
完整的错误堆栈
System.FormatException 发生
H结果=0x80131537
Message=Index(从零开始)必须大于或等于零且小于参数列表的大小。
来源=
堆栈跟踪:
在 IBM.Data.DB2.Core.DB2ConnPool.Open(DB2Connection 连接,String& szConnectionString,DB2ConnSettings& ppSettings,Object& ppConn)
在 IBM.Data.DB2.Core.DB2Connection.Open()
在 Microsoft.EntityFrameworkCore.Storage.RelationalConnection.Open()
在 Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable.Enumerator.BufferlessMoveNext(布尔缓冲区)
在 Microsoft.EntityFrameworkCore.Query.QueryMethodProvider.<_shapedquery>d__31.MoveNext()
at Microsoft.EntityFrameworkCore.Query.Internal.LinqOperatorProvider.<_TrackEntities>d__152.MoveNext()
在 Microsoft.EntityFrameworkCore.Query.Internal.LinqOperatorProvider.ExceptionInterceptor1.EnumeratorExceptionInterceptor.MoveNext()
at System.Collections.Generic.List1.AddEnumerable(IEnumerable1 enumerable)
at System.Linq.Enumerable.ToList[TSource](IEnumerable1 源)
在 C:\CodeBase\IBMEntityFrameworkCoreTest\IBMEntityFrameworkCoreTest\Program.cs:line 24 中的 IBMEntityFrameworkCoreTest.Program.Main(String[] args) 处
【问题讨论】:
-
你能告诉我你通常用什么端口来连接AS400吗?我在使用 DB2 for Iseries 时通常会遇到通信错误
-
@AnaFranco 通常是 446。你得到的错误的详细信息是什么?
-
我收到一个许可证错误,但我相信我一切都井井有条,我什至可以使用 data studio 或 excel 进行连接
标签: entity-framework asp.net-core db2