Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.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
使用ASP.Net insert命令应用于ORACLE数据库表_Asp.net_Oracle - Fatal编程技术网

使用ASP.Net insert命令应用于ORACLE数据库表

使用ASP.Net insert命令应用于ORACLE数据库表,asp.net,oracle,Asp.net,Oracle,你好!我试图在ORACLE数据库表中的单个字段中仅插入一个实体,但堆栈跟踪中出现以下错误: **Stack Trace**: [OracleException(0x80131938):ORA-12154:TNS:无法解析指定的连接标识符 ] System.Data.OracleClient.OracleException.Check(OCIRorHandle errorHandle,Int32 rc)+338968 System.Data.OracleClient.OracleInterna

你好!我试图在ORACLE数据库表中的单个字段中仅插入一个实体,但堆栈跟踪中出现以下错误:

**Stack Trace**: 
[OracleException(0x80131938):ORA-12154:TNS:无法解析指定的连接标识符 ] System.Data.OracleClient.OracleException.Check(OCIRorHandle errorHandle,Int32 rc)+338968 System.Data.OracleClient.OracleInternalConnection.OpenOnLocalTransaction(字符串用户名、字符串密码、字符串服务器名、布尔集成安全性、布尔unicode、布尔省略OracleConnectionName)+879 System.Data.OracleClient.OracleInternalConnection..ctor(OracleConnectionString connectionOptions)+129 System.Data.OracleClient.OracleConnectionFactory.CreateConnection(DbConnectionOptions选项、对象池组ProviderInfo、DbConnectionPool池、DBConnectionOwningObject)+40 System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection所有者连接、DbConnectionPool池、DbConnectionOptions选项)+31 System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection-owningObject)+548 System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject)+69 System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)+470 System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection-owningConnection)+108 System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection,DbConnectionFactory connectionFactory)+118 System.Data.OracleClient.OracleConnection.Open()+43 System.Web.UI.WebControls.SqlDataSourceView.ExecuteDbCommand(DbCommand命令,DataSourceOperation操作)+378 System.Web.UI.WebControls.SqlDataSourceView.ExecuteInsert(IDictionary值)+399 System.Web.UI.WebControls.SqlDataSource.Insert()+19 ASP.jtrap\u import\u aspx.InsertWeight(对象源,事件参数e)在e:\Documents\Visual Studio 2013\Projects\jtrap\u net v1\jtrap\u net\jtrap\u import.aspx:12中 System.Web.UI.WebControls.Button.OnClick(EventArgs e)+9628722 System.Web.UI.WebControl.Button.RaisePostBackEvent(String eventArgument)+103 System.Web.UI.WebControl.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)+10 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl,String eventArgument)+13 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)+35 System.Web.UI.Page.ProcessRequestMain(布尔includeStagesBeforeAsyncPoint,布尔includeStagesAfterAsyncPoint)+1724

这是我的数据源

<asp:Sqldatasource
ID="OracleServer1" Runat="server" 
ConnectionString="Data Source=OracleServer1;Persist Security Info=True;"
ProviderName="System.Data.OracleClient"
InsertCommand="INSERT INTO tbl_object(WEIGHT) VALUES(@Weigh)">
      <insertparameters>
        <asp:formparameter name="Weigh" formfield="TextBox1" />            
      </insertparameters>
</asp:Sqldatasource>

这是我的连接字符串,位于my Web.config中:

<connectionStrings>

 <add name="OracleConnectionString" 
  connectionString="Data Source=OracleServer1;Persist 
  Security Info=True;" 
  providerName="System.Data.OracleClient" 
/> 


谢谢你的帮助

我在“代码隐藏”中做了一个更好的选择,因为我更熟悉这种方法并使其工作:

代码隐藏:

    Dim strConnection As String = ConfigurationManager.ConnectionStrings("OracleConnectionString").ConnectionString
    Dim oracleConnection As New Oracle.DataAccess.Client.OracleConnection(strConnection)

    If oracleConnection.State = ConnectionState.Closed Then
        MsgBox("Opening oracle connection")
        oracleConnection.Open()
        MsgBox("Oracle connection successfully opened.")
    End If


    Dim strQuery As String = "INSERT INTO ......(so on)"
    Dim oracleCommand As New OracleCommand(strQuery, oracleConnection)

    MsgBox("Inserting values to the table")

    oracleCommand.ExecuteNonQuery()

    MsgBox("Successfully inserted values into the table")
这是我在web.config文件中的连接字符串代码

<connectionStrings>
 <add name="OracleConnectionString" 
  connectionString="Data Source=localhost;USER ID=username;PASSWORD=password" 
  providerName="Oracle.DataAccess.Client" 
/>  </connectionStrings>

那么,您的连接字符串与您机器上的TNS条目不匹配。尝试ti-TNSPING OracleServer1时会发生什么?