2

Salut à tous je suis très nouveau à un DB Oracle et je tente de se connecter via VB.net 2010. J'ai essayé ce qui suit:chaîne de connexion DB Oracle 10g en utilisant VB.net

Dim myConnection As OleDbConnection 
Dim myCommand As OleDbCommand 
Dim dr As OleDbDataReader 

    myConnection = New OleDbConnection("Provider=MSDAORA.1;UserID=xxxx;password=xxxx; database=xxxx") 
    'MSDORA is the provider when working with Oracle 
    Try 
     myConnection.Open() 
     'opening the connection 
     myCommand = New OleDbCommand("Select * from emp", myConnection) 
     'executing the command and assigning it to connection 
     dr = myCommand.ExecuteReader() 
     While dr.Read() 
      'reading from the datareader 
      MessageBox.Show("EmpNo" & dr(0)) 
      MessageBox.Show("EName" & dr(1)) 
      MessageBox.Show("Job" & dr(2)) 
      MessageBox.Show("Mgr" & dr(3)) 
      MessageBox.Show("HireDate" & dr(4)) 
      'displaying data from the table 
     End While 
     dr.Close() 
     myConnection.Close() 
    Catch ee As Exception 
    End Try 

et je reçois l'erreur sur le Catch ee Comme la ligne d'exception: ORA-12560: TNS: adaptateur erreur de protocole

J'ai aussi un fichier tnsnames.ora sur mon ordinateur, mais je ne suis pas sûr si je dois l'utiliser lors de la connexion (ou vraiment, comment aussi en premier lieu)? Est-ce nécessaire pour le code ci-dessus? J'essaye d'utiliser une connexion DNS-moins à la DB. Vous ne savez pas si c'est ce qu'il fait dans ce domaine ou pas?

Toute aide serait géniale !!! : O)

David

Répondre

3

Il y a plusieurs façons: celui que j'utilise presque à chaque fois qui ne nécessite pas d'entrée dans TNSNAMES.ORA est la suivante:

Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=MyHost)(PORT=MyPort)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=MyOracleSID)));User Id=myUsername;Password=myPassword; 

Et si vous n » pas besoin d'une connexion OleDb Je pense que vous devriez utiliser System.Data.OracleClient ou tout autre fournisseur gratuit (comme DevArt dotConnect for Oracle Express)

Source: http://www.connectionstrings.com/oracle

+0

Alors comme ça? myConnection = New OleDbConnection ("Source de données = (DESCRIPTION = (ADRESSE_LIST = (ADRESSE = (PROTOCOLE = TCP) (HOST = MyHost) (PORT = 1521))) (CONNECT_DATA = (SERVEUR = DEDICATED) (SERVICE_NAME = MyOracleSID))) ; Id d'utilisateur = xxx; Mot de passe = xxx; ") – StealthRT

+1

Si vous voulez utiliser OleDbConnection, ajoutez simplement" Provider = MSDAORA.1; "ou utilisez un adaptateur Oracle. Souvenez-vous de changer l'hôte, le port (si vous n'utilisez pas celui par défaut) et le nom du service. – Keeper

+0

Génial, je l'ai eu gardien! MERCI! :) – StealthRT

1

J'utilise toujours www.connectionstrings.com/ lorsque j'ai besoin de créer une nouvelle chaîne de connexion à la base de données et lorsque le format de chaîne de connexion n'est pas au-dessus de ma tête.