Строка подключения к базе данных Oracle 10g с использованием VB.net

Привет всем, я ОЧЕНЬ новичок в БД Oracle, и я пытаюсь подключиться к ней через VB.net 2010. Я пробовал следующее:

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

И я получаю сообщение об ошибке в строке Catch ee As Exception: ORA-12560: TNS: ошибка адаптера протокола

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

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

Любая помощь будет здорово!!! :о)

Дэйвид


person StealthRT    schedule 26.01.2011    source источник


Ответы (2)


Есть много способов: тот, который я использую почти каждый раз, и который не требует записи в 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 для Oracle Express)

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

person Keeper    schedule 26.01.2011
comment
Так вроде так? myConnection = New OleDbConnection(Источник данных=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=MyHost)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=MyOracleSID))); Идентификатор пользователя=xxx;Пароль=xxx;) - person StealthRT; 26.01.2011
comment
Если вы хотите использовать OleDbConnection, просто добавьте Provider=MSDAORA.1; или используйте адаптер Oracle. Не забудьте изменить хост, порт (если вы не используете порт по умолчанию) и имя службы. - person Keeper; 26.01.2011
comment
Круто, у меня есть хранитель! БЛАГОДАРНОСТЬ! :) - person StealthRT; 26.01.2011

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

person Community    schedule 27.01.2011