Oracle.DataAccess.Client.Oracl ... [英] 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屋!