Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法使用Oracle连接将行插入表中_C#_Asp.net_Sql_Oracle_Oracle11g - Fatal编程技术网

C# 无法使用Oracle连接将行插入表中

C# 无法使用Oracle连接将行插入表中,c#,asp.net,sql,oracle,oracle11g,C#,Asp.net,Sql,Oracle,Oracle11g,我想知道问题出在哪里,或者您对连接到Oracle的建议。我正在尝试这个,但是当我尝试插入值时,它不起作用 我使用的是VisualWebDeveloper2008,当我在DatabaseExplorer连接上添加数据库时,它工作正常。但是当我试图通过这个连接字符串连接时,它不起作用。我错过了什么 我没有例外,所以很明显它工作得很好。但是这个代码显然没有插入!id列是一个varchar(45)。我创建表“test”只是为了测试 using System.Data; using System.Data

我想知道问题出在哪里,或者您对连接到Oracle的建议。我正在尝试这个,但是当我尝试插入值时,它不起作用

我使用的是VisualWebDeveloper2008,当我在DatabaseExplorer连接上添加数据库时,它工作正常。但是当我试图通过这个连接字符串连接时,它不起作用。我错过了什么

我没有例外,所以很明显它工作得很好。但是这个代码显然没有插入!
id
列是一个
varchar(45)
。我创建表“test”只是为了测试

using System.Data;
using System.Data.OracleClient;

public partial class _Default : System.Web.UI.Page
{ 
    //string oradb = "Data Source=localhost;User ID=root;Password=jesua;Unicode=True;";
    String oracle = "User ID=root;Password=jesua;Unicode=True;Data Source=localhost;";
    OracleConnection con = new OracleConnection();

    public void Conectar() {
        try 
        {
            con.Close();
            con.ConnectionString = oracle;                 
            con.Open();
        }
        catch(Exception ex){
            throw new Exception("No Conecto " + ex);
        }  
    }

    public void desconectar() {
        // con.ConnectionString = oracle;
        con.Close();
    }

    public void agregar() {
        this.Conectar();
        OracleCommand query = new OracleCommand("INSERT INTO testing (id) VALUES ('testing')");
        query.ExecuteNonQuery();
        desconectar();           
    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        try {
            agregar();
        }
        catch(Exception ex){
            Console.Write("No agrego " + ex);
        }
        TextBox1.Text = "Conected";
    }
}
--------------------------更新------------------

所以

我找到了这样做的方法

我希望这里的任何人将来都能使用这个代码

此代码创建Oracle和asp.net C之间的连接#


祝你好运

对我有效的连接字符串是

connectionString="Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1522))  
(CONNECT_DATA=(SERVICE_NAME=XE)));User Id=system;Password=pass;"  
providerName="Oracle.DataAccess.Client"/>

您似乎缺少服务名称提供商名称。您可以在安装目录中的tnsnames.ora文件中找到服务名称。另外,请确保您已正确安装了适用于Oracle 11g的ODP.NET,在项目中添加了对Oracle.DataAccess.dll的引用,并在连接字符串中添加了提供商名称。

为什么你们投票否决了我的帖子?pff。。。我只是问我的问题…@GrantWinney谢谢,好吧,在控制台上并没有显示任何东西,显然它工作得很好。但是这个代码显然没有插入@GrantWinney是的,这是一个varchar(45),我创建表测试只是为了测试
connectionString="Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1522))  
(CONNECT_DATA=(SERVICE_NAME=XE)));User Id=system;Password=pass;"  
providerName="Oracle.DataAccess.Client"/>