Je suis prêt à utiliser IBM DB .NET Provider pour MS .NET Core et ce que je fais en créant mon contexte chaque fois que j'essaie de l'utiliser, j'obtiens l'erreur suivante.L'index (basé sur zéro) doit être supérieur ou égal à zéro et inférieur à la taille de la liste d'arguments IBM .net core
"L'index (base zéro) doit être supérieur ou égal à zéro et inférieur à la taille de la liste d'arguments."
classe Contexte
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; }
}
Model.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; }
}
Utilisez
static void Main(string[] args)
{
Console.WriteLine("Test");
var context = new IBMContext();
var result = context.Table.ToList();
Console.ReadLine();
}
Paquet
IBM.EnityFrameworkCore (1.1.1.101)
erreur Full Stack
System.FormatException a eu lieu HResult = 0x80131537 message = index (base zéro) doit être supérieure ou égale à zéro et inférieure à la taille de la liste des arguments. Source = StackTrace: à IBM.Data.DB2.Core.DB2ConnPool.Open (connexion DB2Connection, String & szConnectionString, DB2ConnSettings & ppSettings, objet & ppConn) à IBM.Data.DB2.Core.DB2Connection.Open() à Microsoft.EntityFrameworkCore.Storage.RelationalConnection.Open() à Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable.Enumerator.BufferlessMoveNext (tampon Boolean) à Microsoft.EntityFrameworkCore.Query.QueryMethodProvider. < _ShapedQuery> d__3 1.MoveNext() at Microsoft.EntityFrameworkCore.Query.Internal.LinqOperatorProvider.<_TrackEntities>d__15
2.MoveNext() à Microsoft.EntityFrameworkCore.Query.Internal.LinqOperatorProvider.ExceptionInterceptor 1.EnumeratorExceptionInterceptor.MoveNext() at System.Collections.Generic.List
1.AddEnumerable (IEnumerable 1 enumerable) at System.Linq.Enumerable.ToList[TSource](IEnumerable
une source) à IBMEntityFrameworkCoreTest.Program.Main (String [] args) dans C: \ CodeBase \ IBMEntityFrameworkCoreTest \ IBMEntityFrameworkCoreTest \ Program.cs: ligne 24
Pouvez-vous me dire quel port vous utilisez habituellement pour se connecter à AS400?Je reçois normalement une erreur de communication en utilisant DB2 pour Iseries –
@AnaFranco Il est normalement 446. Quels sont les détails de l'erreur que vous obtenez? –
Je reçois une erreur de licence, mais je crois que j'ai tout dans l'ordre, je peux même se connecter à l'aide de données studio ou exceler –