Oracle.DataAccess.Client.Oracl ... [英] Oracle.DataAccess.Client.Oracl...

查看:336
本文介绍了Oracle.DataAccess.Client.Oracl ...的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我为visual basic 2012安装了oracle 11g和oracle客户端(框架4.5)。

下面是我的代码和错误详细信息。

我是oracle数据库的新手。





i have installed oracle 11g and oracle client for visual basic 2012(framework 4.5).
below is my code and error details .
Im new to oracle database.


Dim oradb As String = "Data Source=(DESCRIPTION=" _
         + "(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))" _
         + "(CONNECT_DATA=(SERVICE_NAME=ORCL)));" _
         + "User Id=hr;Password=admin1234;"

       Dim conn As New OracleConnection()
       conn.ConnectionString = oradb
       conn.Open()
       Dim sql As String = "select roleid from userprofile where  username ='admin';" ' Visual Basic
       Dim cmd As New OracleCommand(sql, conn)
       cmd.CommandType = CommandType.Text
       Dim dr As OracleDataReader = cmd.ExecuteReader() ' Visual Basic
       dr.Read()
       Label1.Text = CStr(dr.Item("roleid")) ' retrieve by column name
       Label1.Text = dr.Item(0) ' retrieve the first column in the select list
       Label1.Text = dr.GetString(0) ' return a .NET data type
       Label1.Text = dr.GetOracleString(0) ' return an Oracle data type
       conn.Close()   ' Visual Basic
       conn.Dispose()







错误: -





Oracle.DataAccess.Client.OracleException未处理

DataSource =(DESCRIPTION =(ADDRESS =(PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))(CONNECT_DATA =(SERVICE_NAME = ORCL)))

ErrorCode = -2147467259

HResult = -2147467259

消息= ORA-00911:无效字符

数量= 911

Procedure =

Source = Oracle Data Provider for .NET

StackTrace:

at Oracle.DataAccess.Client.OracleException。 HandleErrorHelper(Int32 errCode,OracleConnection conn,IntPtr opsErrCtx,OpoSqlValCtx * pOpoSqlValCtx,Object src,String procedure,Boolean bCheck)

at Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode,OracleConnection conn,String过程,IntPtr opsErrCtx,OpoSqlValCtx * pOpoSqlValCtx,Object src,Boolean bCheck)

at Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery,Boolean fillRequest,CommandBehavior behavior)

在Oracle.DataAccess.Client.OracleCommand.ExecuteReader()

at TestProject.Form1.Button1_Click(Object sender,EventArgs e)在C:\ Users \ Sidharth \ AppData \ Local中\Temporary Projects \ TestProject\Form1.vb:第20行





tnsnames.ora文件包含










error :-


Oracle.DataAccess.Client.OracleException was unhandled
DataSource=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORCL)))
ErrorCode=-2147467259
HResult=-2147467259
Message=ORA-00911: invalid character
Number=911
Procedure=""
Source=Oracle Data Provider for .NET
StackTrace:
at Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
at Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
at Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
at Oracle.DataAccess.Client.OracleCommand.ExecuteReader()
at TestProject.Form1.Button1_Click(Object sender, EventArgs e) in C:\Users\Sidharth\AppData\Local\Temporary Projects\TestProject\Form1.vb:line 20


tnsnames.ora file contains



# Every line that begins with # is a comment line
#
# Create Oracle net service names, or aliases, for each database server
# you need to connect to.
#
# TNSNames.ora sample entry
#
# alias =
#  (DESCRIPTION =
#    (ADDRESS = (PROTOCOL = TCP)(HOST = myserver.mycompany.com)(PORT = 1521))
#    (CONNECT_DATA =
#      (SERVER = DEDICATED)
#      (SERVICE_NAME = orcl)
#    )
#  )
#
# You can modify the entry below for your own database.
# <data source alias> = Name to use in the connection string Data Source
# <hostname or IP> = name or IP of the database server machine
# <port> = database server machine port to use
# <database service name> = name of the database service on the server

OraDb=
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ORCL)
    )
  )

推荐答案

这篇关于Oracle.DataAccess.Client.Oracl ...的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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