La connexion à la base de données FireBird embedded d'application en C# question
Me semble que j'ai un problème avec la connexion intégré à la base de données FireBird, à partir d'un échantillon de l'application en C#. Voici ce que j'ai.
static void Main(string[] args)
{
//Some constant parameters used to form up the connection string...
#region constant literals
const String User = "SYSDBA";
const String Password = "masterkey";
const String DBPath = "D:\\!tmp\\\cafw.fdb";
const String DLLPath = @"fbembed.dll";
const String Charset = "WIN1251";
const int Dialect = 3;
#endregion
//I check whether we actually have a database file nearby
//and fbembed.dll. If we don't - we leave
if (File.Exists(DBPath) == true && File.Exists(DLLPath) == true)
{
//I form up a connection string out of literals I've declared above
FbConnectionStringBuilder CStr = new FbConnectionStringBuilder();
CStr.ServerType = FbServerType.Embedded;
CStr.UserID = User;
CStr.Password = Password;
CStr.Dialect = Dialect;
CStr.Database = DBPath;
CStr.Charset = Charset;
CStr.ClientLibrary = DLLPath;
//And then I finally try to connect
FbConnection Conn = new FbConnection(CStr.ToString());
try
{
//See what we've got in the end
Console.WriteLine(CStr.ToString());
//And try to connect
Conn.Open();
}
catch (Exception Ex)
{
//Show me what has gone wrong
Console.WriteLine("\n" + Ex.Message.ToString());
Console.ReadKey();
}
finally
{
Conn.Close();
}
}
}
Le problème est, il donne de moi une
type de serveur=Incorporé;user id=SYSDBA;mot de passe=masterkey;dialecte=3;initial catalog=D:!tmp\1
\cafw.fdb;jeu de caractères=WIN1251;client library=fbembed.dllAucun message de code d'erreur 335544972 trouvé.
Invalide séquence d'ÉCHAPPEMENT
comme une sortie.
J'ai googlé autour de découvrir 335544972 code d'erreur, et il semble être quelque chose au sujet des invalides de la chaîne de connexion, mais je n'ai trouvé aucun "officiel" des informations à ce sujet.
Hase quelqu'un a rencontré quelque chose de semblable si l'on pouvait me dire ce que je fais mal?
Grâce.
UPD:
Comme il a été conseillé, j'ai essayé de simplifier la chaîne de connexion. Ainsi, au lieu de ce qui a été fait ci-dessus, j'ai utilisé
FbConnection Conn = new FbConnection("Database=D:\\tmp\\\cafw.fdb;ServerType=1");
et il m'a donné un message de "Confiance Auth n'est pas pris en charge sur les Firebird". J'ai donc essayé d'utiliser un sysdba connexion
FbConnection Conn = new FbConnection("Database=D:\\tmp\\\cafw.fdb;ServerType=1;User=SYSDBA;Password=masterkey");
et j'ai obtenu le même message d'erreur.
OriginalL'auteur be here now | 2010-04-17
Vous devez vous connecter pour publier un commentaire.
Bizarre.
C'est difficile à croire, mais la seule raison pour laquelle je peux de ce nom, c'est que ma solution c# résidé quelque part dans d:......\c#\myAppProject (ouais, il est tout au sujet de signe#).
Après j'ai remplacé le projet, tous travaillé correcte.
OriginalL'auteur be here now
Je sais que ce n'est pas votre réponse, mais c'était pour moi, donc..
Vous devez vous assurer que vous fournissez un Utilisateur et un Mot de passe, même si elles ne sont pas obligatoires (mot de passe).
OriginalL'auteur Daniel Little