连接未在视觉工作室中打开
本文关键字:工作室 视觉 连接 | 更新日期: 2023-09-27 18:37:07
对于我的C#应用程序,我需要与oracle数据库连接。我一直使用相同的连接,它与其他应用程序完美配合。添加了我一直使用的相同引用:Oracle.DataAcces
这就是问题所在,我不知道如何解决。
在 Monime_V2.0 中发生了类型为"Oracle.DataAccess.Client.OracleException"的异常.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();
解决此错误消息的最佳方法是使用 OracleException:
try
{
cmd.CommandType = CommandType.Text;
dr = cmd.ExecuteReader();
}
catch (OracleException ex)
{
Console.WriteLine("Record is not inserted into the database table.");
Console.WriteLine("Exception Message: " + ex.Message);
Console.WriteLine("Exception Source: " + ex.Source);
}
您可以对问题所在进行更具描述性的诊断。例如,而不是这个无用的通用错误消息:
类型为"Oracle.DataAccess.Client.OracleException"的异常
我得到这个:
{"ORA-06550:第 1 行,第 7 列:'PLS-00306:调用"GETCLIENTBYID"时参数的数量或类型错误'ORA-06550:第 1 行,第 7 列:'PL/SQL:语句被忽略"}
您应该尝试以下代码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;
}
运行
代码时是否打开了预言机管理?