对于我的C#应用程序,我需要连接oracle数据库。我一直使用相同的连接,它与其他应用程序完美配合。添加了我一直使用的相同引用:Oracle.DataAcces
这是问题,我不知道如何解决它。
类型' Oracle.DataAccess.Client.OracleException'的例外情况发生在Monime_V2.0.dll但未在用户代码中处理
其他信息:外部组件引发了异常。
这是我用来连接的东西:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
// Oracle
using Oracle.DataAccess.Types;
using Oracle.DataAccess.Client;
namespace Monime_V2._0
{
public class Database
{
protected OracleConnection conn;
public OracleConnection Conn
{
get
{
return this.conn;
}
}
public Database()
{
//dbconnectie
this.conn = new OracleConnection();
string pcn = "dbi284945"; //login
string pw = "HGD7dh8daa"; //password
this.conn.ConnectionString = "User Id=" + pcn + ";Password=" + pw + ";Data Source=" + "//192.168.15.50:1521/fhictora" + ";";
}
这就错了:
private List<Account> GetListAccounts()
{
List<Account> listA = new List<Account>();
string sql = "select * from MT_ACCOUNT";
OracleCommand cmd = new OracleCommand(sql, this.conn);
try
{
this.conn.Open(); // <-- This line of code sends me to the exception catcher
OracleDataReader reader = cmd.ExecuteReader();
答案 0 :(得分:0)
解决此错误消息的最佳方法是使用OracleException:
ArrayList<Appartement> sorted = new ArrayList<>();
boolean ispresent = false;
for (Appartement p1: res2) {
ispresent = false;
for (Appartement p2: res2) {
if (p1.equals(p2))
continue;
if (!p1.ContainNull() && !p2.ContainNull()){
if (p1.getRoomCount().equals(p2.getRoomCount()) && p1.getPrice().equals(p2.getPrice()) && p1.getSurface().equals(p2.getSurface())
&& p1.getZipCode().equals(p2.getZipCode()) && p1.getNewBuild().equals(p2.getNewBuild())
&& p1.getPropertyType().equals(p2.getPropertyType()) && p1.getFurnished().equals(p2.getFurnished())
&& p1.getMarketingType().equals(p2.getMarketingType())) {
ispresent = true;
break;
}
}
}
if (!ispresent)
sorted.add(p1);
}
您可以更准确地诊断出问题所在。例如,而不是这个无用的通用错误消息:
“Oracle.DataAccess.Client.OracleException”类型的异常
我明白了:
{“ORA-06550:第1行第7列:\ nPLS-00306:调用'GETCLIENTBYID'\ nORA-06550:第1行第7列:错误数量或类型的参数:\ n / SQL:忽略语句“}
答案 1 :(得分:-1)
您应该为public database()
:
public Database()
{
//dbconnectie
this.conn = new OracleConnection();
string pcn = "dbi284945"; //login
string pw = "HGD7dh8daa"; //password
string connection = string.Format("User Id ={0};password={1};Data Source=//192.168.15.50:1521/fhictora;",pcn,pw);
this.conn.ConnectionString = connection;
}
答案 2 :(得分:-1)
运行代码时是否打开了oracle管理?