Page 1 of 1

Upgraded from version 6.0.58.0 to version 6.50.250.0 - ISSUE

Posted: Mon 05 Dec 2011 22:37
by bconstantin
I've just upgraded from version 6.0.58.0 to version 6.50.250.0 and most of the application works except for one functionality where now I'm getting this error:"ORA-01008: not all variables bound", see below the code. I have the older version on another machine and the same code is working on that computer. I've debuged both applications and both are having the same generated SQL. I'm using oracle 10g express database. Is there any setting that I have to do ?

CONNECTION STRING:



CODE:
if (DataContext.Connection.State != System.Data.ConnectionState.Open)
DataContext.Connection.Open();

Devart.Data.Oracle.OracleConnection conn = (Devart.Data.Oracle.OracleConnection)((System.Data.EntityClient.EntityConnection)DataContext.Connection).StoreConnection;
LP_PERSON_MP oldPERSON = LoadPERSON(oldDATA_ID, false, false);
decimal PERSONTYPE_ID = GetCurrentPERSONTYPE(oldPERSON).PERSONTYPE_ID;
trans = conn.BeginTransaction();

NewDATA_ID = SQLSequanceManager.GetNextID(typeof(LP_PERSON_MP), conn, trans);
string TMP_FOLDER_NM = string.Format(System.Configuration.ConfigurationManager.AppSettings["TMPPERSONTYPEFOLDERName"], NewDATA_ID);

Devart.Data.Oracle.OracleCommand cmd = new Devart.Data.Oracle.OracleCommand("", conn, trans);

StringBuilder sbCols = new StringBuilder(1000), sbParams = new StringBuilder(100);
Dictionary st = GetCurrentStaticDataDictionaryValues();

foreach (string cname in st.Keys)
sbCols.AppendFormat(cname + ",");

int ParamIndex = 10;
foreach (string cname in st.Keys)
{
sbParams.AppendFormat(" :v{0},", ParamIndex);
cmd.Parameters.Add(string.Format("v{0}", ParamIndex), Devart.Data.Oracle.OracleDbType.Number).Value = st[cname];
ParamIndex++;
}

cmd.Parameters.Add("v1", Devart.Data.Oracle.OracleDbType.Number).Value = NewDATA_ID;
cmd.Parameters.Add("v2", Devart.Data.Oracle.OracleDbType.Number).Value = oldDATA_ID;
cmd.Parameters.Add("v3", Devart.Data.Oracle.OracleDbType.VarChar).Value = NewPERSONName;
cmd.Parameters.Add("v4", Devart.Data.Oracle.OracleDbType.VarChar).Value = authInfo.UserName;
cmd.Parameters.Add("v5", Devart.Data.Oracle.OracleDbType.TimeStamp).Value = DateTime.Now;
cmd.Parameters.Add("v6", Devart.Data.Oracle.OracleDbType.VarChar).Value = TMP_FOLDER_NM;
cmd.Parameters.Add("v7", Devart.Data.Oracle.OracleDbType.Number).Value = (decimal)ePERSONStatus.InProgress;
cmd.Parameters.Add("v8", Devart.Data.Oracle.OracleDbType.Number).Value = PERSONTYPE_ID;

cmd.CommandText = string.Format(@"INSERT INTO MDT.LP_PERSON_MP ( DATA_ID, DG_COLLEAGUE_ID, DG_COMPANY_ID, PERSON_NM, DG_LINE_OF_COVERAGE_ID, ST_STATUS_TYPE_ID, FUTURE_EFFECTIVE_DT, FUTURE_EXPIRATION_DT,
ST_EFF_DATES_CONSISTENT_ID, ST_HIST_DATES_INPUT_TYPE_ID, NO_OF_YEARS_AVAILABLE, NO_OF_YEARS_USED, ST_DRIVERLICENSE_TYPE_ID, RETENTION_AM, DRIVERLICENSE_LIMIT_AM, VALID_DATE_DT, VALID_MONTHS,
ST_VALU_DT_CONSISTENT_ID, INFO_TREND_ASSUMPTION_AM, ST_ALAE_TYPE_ID, ST_HOBBY_TREND_TYPE_ID, ST_HOBBY_ALLOC_TYPE_ID, HOBBY_ALLOC_TYPE_OTHER_TX, ST_HASRENEWAL_YN_ID,
ST_NO_RENEWAL_REASON_ID, ST_GROUNDUPINFO_YN_ID, PROJECTED_HOBBY_AM, COMMENT_TX, REPORT_DT,
{0}
OPTIMISTIC_LOCKING, PERSONTYPE_ID, TMP_FOLDER_NM, TMP_FOLDER_STATUS, AUDIT_INSERT_USER_NAME_TX, AUDIT_INSERT_DT, AUDIT_UPDATE_USER_NAME_TX, AUDIT_UPDATE_DT
)
SELECT :v1, DG_COLLEAGUE_ID, DG_COMPANY_ID, :v3, DG_LINE_OF_COVERAGE_ID, :v7, FUTURE_EFFECTIVE_DT, FUTURE_EXPIRATION_DT, ST_EFF_DATES_CONSISTENT_ID, ST_HIST_DATES_INPUT_TYPE_ID,
NO_OF_YEARS_AVAILABLE, NO_OF_YEARS_USED, ST_DRIVERLICENSE_TYPE_ID, RETENTION_AM, DRIVERLICENSE_LIMIT_AM, VALID_DATE_DT, VALID_MONTHS, ST_VALU_DT_CONSISTENT_ID, INFO_TREND_ASSUMPTION_AM, ST_ALAE_TYPE_ID,
ST_HOBBY_TREND_TYPE_ID, ST_HOBBY_ALLOC_TYPE_ID, HOBBY_ALLOC_TYPE_OTHER_TX, ST_HASRENEWAL_YN_ID, ST_NO_RENEWAL_REASON_ID, ST_GROUNDUPINFO_YN_ID, PROJECTED_HOBBY_AM, COMMENT_TX, REPORT_DT,
{1}
0, :v8, :v6, '.................', :v4, :v5, :v4, :v5
FROM MDT.LP_PERSON_MP
WHERE DATA_ID = :v2 ",
sbCols.ToString(),
sbParams.ToString()
);

cmd.ExecuteNonQuery();

Re: Upgraded from version 6.0.58.0 to version 6.50.250.0 - ISSUE

Posted: Mon 05 Dec 2011 22:46
by bconstantin
bconstantin wrote:I've just upgraded from version 6.0.58.0 to version

found the issue there is a rather serious problem I think

Posted: Tue 06 Dec 2011 00:22
by bconstantin
cmd.CommandText = " SELECT :v1 , :v3, :v2 FROM TABLE WHERE ID = 1 "; <<-- THIS SELECT WORKS

cmd.CommandText = " SELECT :v1, :v3, :v1, :v3, :v2 FROM TABLE WHERE ID = 1"; <<-THIS SELECT DOES NOT WORK

Posted: Thu 08 Dec 2011 16:18
by Shalex