Précédent   Forum du club des développeurs et IT Pro > Bases de données > Firebird > Connexion aux bases de données
Connexion aux bases de données Forum d'entraide sur la connectivité Firebird: composants, drivers, transactions, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 29/06/2011, 14h49   #1
FDR2006
Membre du Club
 
Homme
Inscription : mars 2006
Messages : 84
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Argentine

Informations forums :
Inscription : mars 2006
Messages : 84
Points : 66
Points : 66
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
FDR2006 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2011, 21h01   #2
ddaime
Membre expérimenté
 
Inscription : février 2006
Messages : 450
Détails du profil
Informations personnelles :
Âge : 40

Informations forums :
Inscription : février 2006
Messages : 450
Points : 500
Points : 500
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 ?
ddaime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/06/2011, 01h28   #3
FDR2006
Membre du Club
 
Homme
Inscription : mars 2006
Messages : 84
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Argentine

Informations forums :
Inscription : mars 2006
Messages : 84
Points : 66
Points : 66
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;
	}
}
FDR2006 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/06/2011, 01h30   #4
FDR2006
Membre du Club
 
Homme
Inscription : mars 2006
Messages : 84
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Argentine

Informations forums :
Inscription : mars 2006
Messages : 84
Points : 66
Points : 66
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!
FDR2006 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/06/2011, 21h39   #5
ddaime
Membre expérimenté
 
Inscription : février 2006
Messages : 450
Détails du profil
Informations personnelles :
Âge : 40

Informations forums :
Inscription : février 2006
Messages : 450
Points : 500
Points : 500
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.
ddaime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2011, 14h02   #6
FDR2006
Membre du Club
 
Homme
Inscription : mars 2006
Messages : 84
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Argentine

Informations forums :
Inscription : mars 2006
Messages : 84
Points : 66
Points : 66
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
FDR2006 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 12h06.


 
 
 
 
Partenaires

Hébergement Web