在Visual和Oracle之间建立联系 [英] Connect between visual and oracle

查看:95
本文介绍了在Visual和Oracle之间建立联系的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

打开连接时,我需要在Visual Studio 2013和远程oracle数据库10g之间建立连接,并显示以下错误消息:

I need to make connection between visual studio 2013 and remote oracle database 10g when I open the connection show the following error message:

类型的异常 发生在"Oracle.ManagedDataAccess.Client.OracleException" Oracle.ManagedDataAccess.dll,但未在用户代码中处理

An exception of type 'Oracle.ManagedDataAccess.Client.OracleException' occurred in Oracle.ManagedDataAccess.dll but was not handled in user code

其他信息:外部组件引发了异常

Additional information: External component has thrown an exception

我安装了Oracle数据访问并使用了Imports Oracle.ManagedDataAccess.Client

I install Oracle data access and used Imports Oracle.ManagedDataAccess.Client

Public Function Gett() As DataTable
    Dim dt As DataTable
    Dim st As String = "Data Source =    (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (COMMUNITY = tcp.world) (PROTOCOL = TCP)  (Host = 172.16.0.70) (Port = 1521)  ))(CONNECT_DATA = (SID = ORCL))) ; user id='cmn' ; password='cmn'"
    Dim sql As String = "select Top(1) * from FIN_VOUCHERS"
    Dim conn As New OracleConnection(st)
    conn.Open()
    Dim cmd As New OracleCommand(sql, conn)
    Dim da As New OracleDataAdapter(cmd)
    da.Fill(dt)
    conn.Close()

    Return dt

End Function

注意: 当我拔下网络电缆时,它显示出相同的信息,因此我认为我的机器中的问题不在服务器的oracle版本中. 我怎么知道我机器上的oracle客户端是否工作正常?

Note: when I unplug network cable it show same messege , so i think the problem in my machine not in the server oracle version .. how i know if oracle client in my machine is work well ??

推荐答案

由于您没有提供我可以猜测的任何错误详细信息.

Since you don't provide any error detail I can just guess.

ODP.NET托管驱动程序需要Oracle版本10g R2或更高版本.如果您的数据库服务器是10g R1,则无法使用它.在这种情况下,您必须使用ODP.NET 非托管驱动程序的较旧版本.

ODP.NET Managed Driver requires Oracle version 10g R2 or later. If your database server is 10g R1 then you cannot use it. In this case you must use an older version of ODP.NET Unmanaged Driver.

我不确定引号和其他空格字符.试试这个吧:

I am not sure about the quoting and additional space characters. Try this one instead:

Dim st As New OracleConnectionStringBuilder()
st.DataSource = "(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (COMMUNITY = tcp.world) (PROTOCOL = TCP)  (Host = 172.16.0.70) (Port = 1521)  ))(CONNECT_DATA = (SID = ORCL)))"
st.Password = "cmn"
st.UserID = "cmn"

Dim conn As New OracleConnection(st.ConnectionString)

这篇关于在Visual和Oracle之间建立联系的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆