2013-03-06 2 views
0

Я пытаюсь подключиться к базе данных Oracle, используя asp.net.Любые идеи, как исправить ошибку «Связанная с сетью или конкретная конкретная ошибка» при попытке подключения к Oracle DB?

У меня есть tns.ora записи, установленные правильно (я считаю) в файле web.config, как показано ниже:

<add name="constr" connectionString="Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=myhostname)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=myServiceName)));User Id=myUsername;Password=myPassword;"/> 

Затем я использую строку соединения в коде:

Dim strConnString As String = ConfigurationManager.ConnectionStrings("constr").ConnectionString 

I объявил Oracle Connection:

Imports System.Data.OracleClient 

Во-первых, я получаю сообщение об ошибке, что

Namespace or Type declared in Imports System.Data.OracleClient 
doesn't contain any public member or is not found 

Когда я снял его, я получил следующее сообщение об ошибке:

A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible...

Я думать, что это связано с Imports заявление.

Любые идеи, как исправить эту ошибку?

Private Sub PopulateContinents() Dim oOracleConn Как OracleConnection = Новый OracleConnection() Dim strConnString As String = ConfigurationManager.ConnectionStrings ("КОНСТРУКТОР"). ConnectionString

Dim strQuery As String = "select deptID, DeptName from Dept" 
Dim con As OracleConnection = New SqlConnection(strConnString) 
Dim cmd As OracleCommand = New SqlCommand 
cmd.CommandType = CommandType.Text 
cmd.CommandText = strQuery 
cmd.Connection = con 
oOracleConn.Open() 
ddlContinents.DataSource = cmd.ExecuteReader 
ddlContinents.DataTextField = "deptID" 
ddlContinents.DataValueField = "DeptName" 
ddlContinents.DataBind() 
con.Close() 

End Sub

+2

Ошибка о том, что он может» t подключиться к базе данных, что обычно означает, что ваша строка подключения неверна, например вы подключаетесь к отсутствующему серверу или к множеству других потенциальных проблем. –

+0

Сервер существует. Строка подключения отлично работает в классическом ASP. Я немного пошатнулся для asp.net. Итак, да, сервер существует, и строка подключения, на которую я верю, как состояние, верна. Это импорт, который у меня есть подозрение, может не подключаться. –

+0

В каком KIND подключения вы используете? При повторном чтении ошибка связана с подключением MS SQL, поэтому похоже, что она пытается подключиться к базе данных MS sql с информацией о строках подключения. Отправьте свой код, который устанавливает соединение. –

ответ

0

Сво кажется что приложение не получает правильную строку соединения.

Во-первых, попытаться очистить все строки соединения в web.config:

<connectionStrings> 
    <clear /> 
    <add name="... 

Во-вторых, попробуйте указать провайдера, который Вы хотите использовать:

<add name="your.cs.name" 
    providerName="Oracle.DataAccess.Client" 
    connectionString="Data Source=//server:1521/instancename;User ID=UID;Password=PASS" /> 
+0

Нужно ли устанавливать этот провайдер? Он все еще не работает. такая же ошибка пространства имен. –

+0

Да, вам нужны поставщики Oracle. Решена ли ошибка «связанная с сетью»? – rkawano

+0

Нет, я даже не могу скомпилировать приложение. Насколько я понимаю, вы используете Oracle.DataAccess.Client только для Oracle 10g или новее? Мы по-прежнему используем Oracle 9i –

Смежные вопросы

 Смежные вопросы