2009-11-26 7 views
-1

J'ai un problème queer. Je travaillais sur un projet avec le fournisseur firebird 1.5.6 .NET et Visual Studio 2005. Tout a bien fonctionné. Ensuite, j'ai converti le projet en projet VS2008. Maintenant, j'ai le problème que lorsque je suis en train la connexion à la base de données firebird je reçois la erreur:Erreur de connexion Firebird après la conversion du projet de VS2005 en VS2008

Index was out of range. Must be non-negative and less than the size of the collection. 
Parameter name: index. 

L'erreur indique même que j'ouvre la connexion. J'ai eu cette erreur dans server type = Default mais si je mets server type = Embedded alors j'ai la possiblité d'ouvrir la connexion.

J'ai essayé d'exécuter mon projet sur un autre pc et là ça marche.

Quel pourrait être le problème?

+0

Avez-vous une trace de pile de cette erreur? –

+0

Avez-vous essayé le dernier fournisseur 2.5.1 .net? http://www.firebirdsql.org/index.php?op=files&id=netprovider –

+0

@Douglas Tosi. Oui, j'utilise le fournisseur 2.5.1 .NET. – Jooj

Répondre

0

Peut-être que cela pourrait vous aider en lisant ce article ici?

Espérons que cela aide.

0

C'est l'erreur de trace de la pile que j'ai.

at System.Collections.ArrayList.get_Item(Int32 index) 
    at FirebirdSql.Data.Client.Managed.Version10.GdsDatabase.GetServerVersion() 
    at FirebirdSql.Data.Client.Managed.Version10.GdsDatabase.Attach(DatabaseParameterBuffer dpb, String dataSource, Int32 port, String database) 
    at FirebirdSql.Data.FirebirdClient.FbConnectionInternal.Connect() 
    at FirebirdSql.Data.FirebirdClient.FbConnectionPool.Create() 
    at FirebirdSql.Data.FirebirdClient.FbConnectionPool.CheckOut() 
    at FirebirdSql.Data.FirebirdClient.FbConnection.Open() 
    at DbAccess.Connect() in D:\Appi\Connection.cs:line 87 

Et la ligne 87:

   ... 
       conn.Open(); 
       ... 

Je ne sais vraiment pas quoi faire.

+0

Étrange, apparemment le serveur ne renvoie pas une chaîne de version du serveur. Quelle version de Firebird est-ce? Avez-vous essayé de le mettre à jour? –

+0

Je l'ai résolu. Le problème était que je dois après le redémarrage de Windows redémarrer manuellement le serveur FB. Je ne sais pas pourquoi, mais j'ai résolu ce problème. – Jooj

1

J'ai la même erreur lors de la connexion à Interbase. Je le répare.

  1. Télécharger le code source-2.6.5-fournisseur réseau src.7z
  2. Modifier le fichier GdsDatabase.cs remplacer la ligne return this.GetDatabaseInfo(items, IscCodes.BUFFER_SIZE_256)[0].ToString();
    cette
    ArrayList ar = this.GetDatabaseInfo(items, IscCodes.BUFFER_SIZE_256); if (ar.Count > 0) return ar[0].ToString(); else return String.Empty;

  3. Reconstruire le projet

Terminé

Questions connexes