我想用Orcale替换Oracle.DataAccess.托管 DataAccess,但打开与后者的连接会引发ORA-12537网络会话文件结束异常.
异常消息/堆栈跟踪
{OracleInternal.Network.NetworkException(0x000030F9):ORA-12537:在OracleInternal.TTC.OraBufReader.Read的OracleInternal.TTC.OraBufReader.GetDataFromNetwork()中的OracleInternal.Network.ReaderStream.Read(OraBuf OB)上的Dateiende(布尔bIgnoreData) )OracleInternal.TTC.TTCProtocolNegotiation.ReadResponse()}中的OracleInternal.TTC.MarshallingEngine.UnmarshalUB1(Boolean bIgnoreData)
我正在尝试连接到Oracle 11g数据库,并且我的本地计算机上没有安装客户端.
使用Oracle.DataAccess 可以正常工作.
using System;
using Oracle.DataAccess.Client;
namespace App.Odp.Unmanaged
{
internal class Program
{
private static void Main(string[] args)
{
//dummy connection string. using SID
string connectionString = "User Id=***;password=***;Data Source=1.2.3.4:1521/sid01;";
try
{
using (var conn = new OracleConnection(connectionString))
{
conn.Open();
using (OracleCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "select * from all_users";
using (OracleDataReader reader = cmd.ExecuteReader())
{
Console.WriteLine("VisibleFieldCount: {0}", reader.VisibleFieldCount);
Console.WriteLine("HiddenFieldCount: {0}", …Run Code Online (Sandbox Code Playgroud)