2

Привет всем Я очень новичок в БД Oracle и я пытаюсь подключиться к нему через VB.net 2010. Я пытался следующее:строка подключения к БД Oracle 10g с помощью 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 

И я получаю ошибку на Выгода ЭИ как исключение линии: ORA-12560: TNS: ошибка переходники протокола

у меня также есть файл tnsnames.ora на моем компьютере, но я не уверен, если мне нужно использовать что при подключении (или действительно, как в первую очередь)? Это необходимо для кода выше?

Я пытаюсь использовать подключение DNS-Less к БД. Не уверен, что это то, что он делает в этом или нет?

Любая помощь будет отличной !!! : О)

Дэвид

ответ

3

Есть много способов: один я использую почти каждый раз, когда не требуется запись в TNSNAMES.ORA это:

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

И если вы не» т необходимо подключение к OleDb я думаю, вы должны использовать System.Data.OracleClient или любой другой свободный провайдера (как DevArt dotConnect for Oracle Express)

Источник: http://www.connectionstrings.com/oracle

+0

Так вот так? myConnection = New OleDbConnection («Источник данных = (ОПИСАНИЕ = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = MyHost) (PORT = 1521))) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = MyOracleSID))) , User Id = xxx; Password = xxx; ") – StealthRT

+1

Если вы хотите использовать OleDbConnection, просто добавьте« Provider = MSDAORA.1; »или пользовательский адаптер Oracle. Помните, что для изменения хоста порт (если вы не используете по умолчанию) и имя службы. – Keeper

+0

Удивительный, я получил его хранитель! БЛАГОДАРЯ! :) – StealthRT

1

Я всегда использую www.connectionstrings.com/, когда мне нужно создать новую строку подключения в БД и когда формат строки подключения не находится на моей голове.