2017-09-08 1 views
0

J'essaie de me connecter à ma base de données Oracle à distance en indiquant le nom d'utilisateur, le mot de passe, le numéro de port, l'ID de service et le nom d'hôte!C# accès à la base de données Oracle à l'aide de l'ID de service

private void button1_Click(object sender, EventArgs e) 

     { 
      connectionString = "Data Source = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 172.25.72.90)(PORT = 1521))) " + 
      " (CONNECT_DATA = (SERVER = SHARED) (SID = XE))" + 
     "); User Id =" + uname.Text + "; password=" + pword.Text; 


      OracleConnection con = new OracleConnection(); 
      con.ConnectionString = connectionString; 
      con.Open(); 
      OracleCommand cmd = new OracleCommand(); 
      cmd.CommandText = "Select DEFINITION_ID from ATS_AME_DEFS"; 
      cmd.Connection = con; 
      OracleDataReader dr = cmd.ExecuteReader(); 
      dr.Read(); 
      label1.Text = dr.GetString(0); 
     } 

quand je lance le programme que j'obtiens une erreur « Une exception non gérée du type « Oracle.DataAccess.Client.OracleException » est produite dans Oracle.DataAccess.dll » à « con.Open(); » Mais quand je donne le nom de service comme (SERVICE_NAME = ora12c) en remplaçant l'id de service (SID = XE) je peux accéder à la base de données! Comment puis-je corriger cela?

Répondre

1

Le gestionnaire de connexion Oracle ne prend pas en charge SID, il prend uniquement en charge ServiceName.

+0

Merci! Que puis-je utiliser pour obtenir un support d'ID de service? –