Я получаю сообщение об ошибке «ORA-01745: неверное имя переменной хоста / привязки» при добавлении данных в базу данных Oracle.

1

Когда я пытаюсь добавить данные в базу данных, я получаю эту ошибку. Определенная информация, которую я получаю, добавляется в другие таблицы, которые я создал. Эта проблема возникает только в отношении одной таблицы.

Вот мой код:

public class NewOtherCompanyMapper
{
    OtherCompany om;
    private Database db;
    private DbCommand cmd;
    private DbConnection con;

    public void AddNDADetails(string id)
    {
        try
        {
            con = db.CreateConnection();
            con.Open();

            string query = string.Format("INSERT INTO NDAInformation (NDAID,RegNumber,DateCreate,RefName,ReqServ,ServDetails) VALUES (:ndaID,:regnumber,TO_DATE(:date,'DDMMYYYY'),:refname,:regserv,:servdetails)");
            cmd = db.GetSqlStringCommand(query);
            cmd = con.CreateCommand();
            cmd.CommandText = query;
            db.ExecuteNonQuery(cmd);

            db.AddInParameter(cmd, "ndaID", DbType.String, id);
            db.AddInParameter(cmd, "regnumber", DbType.String, om.RegNumber);
            db.AddInParameter(cmd, "date", DbType.Date, om.Date);
            db.AddInParameter(cmd, "refname", DbType.String, om.ComRef);
            db.AddInParameter(cmd, "regserv", DbType.String, om.ComService);
            db.AddInParameter(cmd, "servdetails", DbType.String, string.Join(",", om.ReqServiceDetails));
        }

        catch (Exception ex)
        {
            throw ex;
        } 
    }
}
Теги:

1 ответ

1

ORA-01745: неверное имя переменной хоста/связывания

Причина. Двоеточие в переменной привязки или спецификации INTO сопровождалось недопустимым именем, возможно, зарезервированным словом.

Действие: измените имя переменной и повторите операцию.

================================================== ===========

Например::.

Dim nCount As Integer

sSQL = "SELECT COUNT(*) FROM USERS WHERE USER_ID = :UID"

OracleConnection conn = new OracleConnection(ConfigurationSettings.AppSettings("connString"));
conn.Open();
OracleCommand cmd = new OracleCommand(sSQL, conn);

cmd.CommandType = CommandType.Text;

cmd.Parameters.Add("UID", OracleType.VarChar).Value = txtUserID.Text;

nCount = cmd.ExecuteScalar();
  • 0
    Я изменил переменную даты, чтобы создать. Теперь я получаю «ora-01008: не все переменные связаны».
  • 0
    Объявить east_sun_2013 DATE; BEGIN east_sun_2013: = TO_DATE ('31/03/2013', 'DD / MM / YYYY'); КОНЕЦ;
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню