WinBatch Tech Support Home

Database Search

If you can't find the information using the categories below, post a question over in our WinBatch Tech Support Forum.

TechHome

ADO DAO
plus
plus

Can't find the information you are looking for here? Then leave a message over on our WinBatch Tech Support Forum.

1255 OLE Member Not Found


Question:

Any suggestions on the following?
SqlGetChanged = 'SELECT DISTINCT a.prsn_univ_id, MAX(b.stu_enrl_stat_dt), a.prsn_gds_cmp_email_addr, a.stu_drv_enrl_stat_ind '
SqlGetChanged = StrCat(SqlGetChanged, '  FROM dss_rds.sr_all_enrl_bystk_gt b, ')
SqlGetChanged = StrCat(SqlGetChanged, '       dss_rds.sr_enrl_byorg_gt a ')
SqlGetChanged = StrCat(SqlGetChanged, " WHERE b.stu_enrl_stat_dt > TO_DATE('", udfOracleDate(LastProcDate), "', 'dd-mon-yyyy') ")
SqlGetChanged = StrCat(SqlGetChanged, "   AND b.inst_cd = 'IUKOA' ")
SqlGetChanged = StrCat(SqlGetChanged, "   AND b.acad_term_cd IN (", EntryTerms, ") ")
SqlGetChanged = StrCat(SqlGetChanged, "   AND a.stu_drv_enrl_stat_ind IS NOT NULL ")
SqlGetChanged = StrCat(SqlGetChanged, "   AND a.prsn_univ_id = b.prsn_univ_id ")
SqlGetChanged = StrCat(SqlGetChanged, "   AND a.acad_term_cd IN (", EntryTerms, ") ")
SqlGetChanged = StrCat(SqlGetChanged, " GROUP BY a.prsn_univ_id, a.prsn_gds_cmp_email_addr, a.stu_drv_enrl_stat_ind ")

Retry = 0
rc = 0

While ! IUIE && Retry <= IuieMaxRetry
 Session = ObjectOpen('OracleInProcServer.XOraSession')
 ErrorMode(@OFF)
 db = Session.OpenDatabase('dss1prd.ip', StrCat('bshepard/', pwd), 4|8)
 ErrorMode(@CANCEL)
 ErrorString = Session.LastServerErrText
 If ErrorString == ''
   ErrorMode(@OFF)
   ds = db.CreateDynaset(SqlGetChanged, 0)
   ErrorMode(@CANCEL)
   ErrorString = db.LastServerErrText
   If ErrorString == ''
     IUIE = @TRUE
     fUnivID = ds.fields('prsn_univ_id')
;--- How do I access this field???
     fDate   = ds.fields('MAX(stu_enrl_stat_dt)')
     fDate   = ds.fields('stu_enrl_stat_dt')
;--- either of these lines generate:
;          1255: OLE Member not found
;          WB Ver 2004A
;          Wil Ver: 4.4add

     fEmail  = ds.fields('prsn_gds_cmp_email_addr')
     fStatus = ds.fields('stu_drv_enrl_stat_ind')
   EndIf
  EndIf
EndWhile

wwwbatch.ini contents after error:

[OLE DLL]
Function=Invoke (1)
ErrorCode=3 (0x80020003)
ErrorDesc=Member not found.

Here's what MS has to say about it: http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/q172/1/08.asp&NoWebContent=1 doesn't mean that much to me...

Answer:

What happens if you put ErrorMode around the line that it is erroring on, then see what the return value of ErrorString = db.LastServerErrText is....

I don't know how sophisticated the query engine is, but if it supports full SQL syntax you could try the following:

Change the first line of the query to give an alias to the computed field:

SqlGetChanged = 'SELECT DISTINCT a.prsn_univ_id, MAX(b.stu_enrl_stat_dt) AS max_stu_enrl_stat_dt, a.prsn_gds_cmp_email_addr, a.stu_drv_enrl_stat_ind '

then change the retrieval line to the following:

fDate   = ds.fields('max_stu_enrl_stat_dt')

User Reply:

Noting that Oracle 9i is fairly full featured, I gave your suggestion a shot. It worked! That thought had briefly passed through my mind this morning, but didn't stick around long enough for me to take any action on it.
Article ID:   W16564
File Created: 2005:02:18:12:21:28
Last Updated: 2005:02:18:12:21:28