Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 6 sur 6
  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    mars 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Argentine

    Informations forums :
    Inscription : mars 2006
    Messages : 84
    Points : 68
    Points
    68

    Par défaut Connexion à FB 2.5 depuis MS C# 2003

    Bonjour,

    je débute avec cette combinason, en ayant une bonne expérience Firebird + IBExpert.
    Lorsque je veux enregistrer FirebirdSql.Data.Firebird.dll le système MS me dit "Ce fichier n'est pas au format com ou dll"
    Ceci doit venir du fait que le connecteur NET "Provider" actuel est plus récent que le format NET Framework ancien de C# 2003.

    Il existe une solution ou bien je suis forcé d'actualiser mon bon vieux C# ?

    Merci,
    Cordialement

  2. #2
    Membre expérimenté
    Inscrit en
    février 2006
    Messages
    470
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : février 2006
    Messages : 470
    Points : 553
    Points
    553

    Par défaut

    Bonjour.

    Plusieurs solutions s'offre à vous. La première est d'installer la version du 'provider' correspondant à la version 1.1 du framework .Net => http://www.firebirdsql.org/en/net-provider/
    La seconde est bien évidement de passer à la derniere version de .Net, la version 4, en installant par exemple Visual Studio 2010 (Express ou Pro).

    Quelle commande avez vous utilisé pour enregister le provider ?

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    mars 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Argentine

    Informations forums :
    Inscription : mars 2006
    Messages : 84
    Points : 68
    Points
    68

    Par défaut

    Merci Ddaime,

    J'ai installé NET Data provider 1.7.2.0.
    J'ai enregistré le "Provider" avec l'option "Add Reference" => Browse, etc du propre IDE de MS C# 2003.
    Le système a accepté la reference.

    Maintenant l'instruction db.open() lance une exception de "invalid code page"
    Pourtant Flame Robin ouvre parfaitement la base.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    Message erreur
    Unhandled Exception: System.TypeInitializationException: The type initializer fo
    r "FirebirdSql.Data.Common.Charset" threw an exception. ---> System.ArgumentExce
    ption: Invalid OR unsupported code page type.
       at System.Text.CodePageEncoding.GetCPMaxCharSizeNative(Int32 codePage)
       at System.Text.CodePageEncoding..ctor(Int32 codepage)
       at System.Text.Encoding.GetEncodingRare(Int32 codepage)
       at System.Text.Encoding.GetEncoding(Int32 codepage)
       at FirebirdSql.DATA.Common.Charset.GetEncoding()
       at FirebirdSql.DATA.Common.Charset..ctor(Int32 id, String name, Int32 bytesPe
    rCharacter, String systemName)
       at FirebirdSql.DATA.Common.Charset.InitializeSupportedCharsets()
       at FirebirdSql.DATA.Common.Charset..cctor()
       --- End of inner exception stack trace ---
       at FirebirdSql.DATA.Common.Charset.GetCharset(String charsetName)
       at FirebirdSql.DATA.Firebird.ClientFactory.CreateManagedDatabase(FbConnection
    String options)
       at FirebirdSql.DATA.Firebird.ClientFactory.CreateDatabase(FbConnectionString
    options)
       at FirebirdSql.DATA.Firebird.FbConnectionInternal.Connect()
       at FirebirdSql.DATA.Firebird.FbConnectionPool.CREATE()
       at FirebirdSql.DATA.Firebird.FbConnectionPool.CheckOut()
       at FirebirdSql.DATA.Firebird.FbConnection.Open()
       at Test.Main(String[] args) IN c:\visual c# step by step\chapter 24\listprodu
    cts complete\listdocs\class1.cs:line 17
    Press any KEY TO continue

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    Programme de test
    USING System.DATA; 
    USING FirebirdSql.DATA.Firebird;
     
    public class Test 
    {
    	public static void Main(string[] args) 
    	{
    		string connectionString = 
    			"Database=C:\\PJETEST.FDB;" + 
    			"User=SYSDBA;" + "Password=masterkey;" + 
    			"Dialect=3;" + "Server=localhost";
     
    		IDbConnection dbcon = new FbConnection(connectionString); 
    		Console.WriteLine("Before Open");
    		dbcon.Open(); 
    		IDbCommand dbcmd = dbcon.CreateCommand(); 
    		string sql = "SELECT * FROM G_A_OSLIST"; 
    		Console.WriteLine("Sql: " + sql);
    		dbcmd.CommandText = sql; 
    		IDataReader reader = dbcmd.ExecuteReader(); 
    		while(reader.READ()) 
    		{
    			object dataValue = reader.GetValue(0); 
    			string sValue = dataValue.ToString(); 
    			Console.WriteLine("Value: " + sValue);
    		} 
     
    		// clean up 
    		reader.Close(); 
    		reader = NULL; 
    		dbcmd.Dispose(); 
    		dbcmd = NULL; 
    		dbcon.Close(); 
    		dbcon = NULL;
    	}
    }

  4. #4
    Membre du Club
    Homme Profil pro
    Inscrit en
    mars 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Argentine

    Informations forums :
    Inscription : mars 2006
    Messages : 84
    Points : 68
    Points
    68

    Par défaut

    Merci Ddaime,
    Mes excuses car j'ai appuyé par erreur le bouton "Envoyer la réponse" sans te saluer comme il faut.

    Cordialement,
    Merci encore!

  5. #5
    Membre expérimenté
    Inscrit en
    février 2006
    Messages
    470
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : février 2006
    Messages : 470
    Points : 553
    Points
    553

    Par défaut

    Tu utilises quel type de jeu de caractere avec ta base en 2.5 ?

    Voici la liste des jeux de caracteres supporté par la version 1.7 de l'API du provider : http://web.firebirdsql.org/dotnetfir...ionString.html

    Si ta base est en UTF8, c'est normal que ca plante ! Passe la en ISO8859_1 par exemple.

  6. #6
    Membre du Club
    Homme Profil pro
    Inscrit en
    mars 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Argentine

    Informations forums :
    Inscription : mars 2006
    Messages : 84
    Points : 68
    Points
    68

    Par défaut

    Salut Ddaime,

    J'ai essaié ce passage en ISO, et ca plante quand même.
    Alors j'ai installé #Develop en lieu du C# 2003 de MS et ca marche nickel.
    Pb résolu.

    Merci pour ton temps,
    Cordialement,
    HBB

+ Répondre à la discussion
Cette discussion est résolue.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •