I have a script that runs in my DEV and PROD environment, but for some reason on my TEST server, I am getting the following error:
The script's function is to read from an XML file and load the data to an Oracle table. I believe this error is actually caused by the environment, not sure what yet, but I have checked the DBI and DBD version against our PROD server and they are matched.
I am running the script against the exact same XML file to rule out the XML file itself. The script on TEST is the same as on PROD.
My main question is if DBI doesn't think that my bind is against an ORA_TABLE type, how can I find out what it thinks I'm trying to bind to? Also, does anyone have a clue as to what I can do to debug this. I have run through the debugger and done everything I know how to do, but I'm at a loss for why this error would happen.
I'm going to include the relevant (hopefully) lines of code below.
Line 973 is the line that has $event_id right after $ir_insert_st->execute(:
Array bind is supported only for ORA_TABLE types. Unable to bind ':p1'. at ./xmlimport.pl line 973.
Issuing rollback() for database handle being DESTROY'd without explicit disconnect().
Issuing rollback() for database handle being DESTROY'd without explicit disconnect().
I am running the script against the exact same XML file to rule out the XML file itself. The script on TEST is the same as on PROD.
My main question is if DBI doesn't think that my bind is against an ORA_TABLE type, how can I find out what it thinks I'm trying to bind to? Also, does anyone have a clue as to what I can do to debug this. I have run through the debugger and done everything I know how to do, but I'm at a loss for why this error would happen.
I'm going to include the relevant (hopefully) lines of code below.
Line 973 is the line that has $event_id right after $ir_insert_st->execute(:
Code:
my $INVITATION_REQUESTS_INSERT_ST01 =
"
insert into invitation_requests
(
EVENT_ID,
EVENT_TYPE_DESC,
EVENT_START_DATE,
EVENT_STATUS_TYPE,
EVENT_VENUE,
EVENT_VENUE_ADDR1,
EVENT_VENUE_ADDR2,
EVENT_VENUE_ADDR3,
EVENT_VENUE_CITY,
EVENT_VENUE_STATE,
EVENT_VENUE_ZIP,
EVENT_OWNER_ID,
EVENT_OWNER_PREFIX,
EVENT_OWNER_FIRST_NAME,
EVENT_OWNER_MIDDLE_NAME,
EVENT_OWNER_LAST_NAME,
EVENT_OWNER_SUFFIX,
EVENT_OWNER_PHONE,
EVENT_OWNER_RBG,
EVENT_OWNER_REGION,
EVENT_OWNER_DISTRICT,
EVENT_OWNER_TERRITORY,
EVENT_DELIVERY_SEQ,
EVENT_DELIVERY_STATUS,
EVENT_TALK_TITLE_ID,
EVENT_TALK_TITLE,
EVENT_TOPIC_ID,
EVENT_TOPIC_NAME,
EVENT_SPEAKER_ID,
EVENT_SPEAKER_PREFIX,
EVENT_SPEAKER_FIRST_NAME,
EVENT_SPEAKER_MIDDLE_NAME ,
EVENT_SPEAKER_LAST_NAME,
EVENT_SPEAKER_SUFFIX,
EVENT_SPEAKER_PROF_DESIG,
EVENT_SPEAKER_BIO,
EVENT_SPEAKER_ADDR1,
EVENT_SPEAKER_ADDR2,
EVENT_SPEAKER_ADDR3,
EVENT_SPEAKER_CITY,
EVENT_SPEAKER_STATE,
EVENT_SPEAKER_ZIP,
EVENT_JDE_NUMBER,
EVENT_SUB_LEDGER,
EVENT_PROCESS_TS
)
values
(
?, ?, to_date(?, 'YYYY-MM-DD HH24:MI:SS'), ?, ?, ?, ?, ?, ?, ?,
?, ?, ?, ?, ?, ?, ?, ?, ?, ?,
?, ?, ?, ?, ?, ?, ?, ?, ?, ?,
?, ?, ?, ?, ?, ?, ?, ?, ?, ?,
?, ?, ?, ?, SYSDATE
)
";
my $ir_insert_st = $db_handle->prepare($INVITATION_REQUESTS_INSERT_ST01);
/*RETRIEVES THE DATA FROM XML*/
$ir_insert_st->execute(
$event_id,
$event_type_desc,
"$event_start_date $event_start_time",
$event_status_type,
$event_venue,
$event_venue_addr1,
$event_venue_addr2,
$event_venue_addr3,
$event_venue_city,
$event_venue_state,
$event_venue_zip,
$event_owner_id,
$event_owner_prefix,
$event_owner_first_name,
$event_owner_middle_name,
$event_owner_last_name,
$event_owner_suffix,
$event_owner_phone,
$event_owner_rbg,
$event_owner_region,
$event_owner_district,
$event_owner_territory,
$event_delivery_seq,
$event_delivery_status,
$event_talk_title_id,
$event_talk_title,
$event_topic_id,
$event_topic_name,
$event_speaker_id,
$event_speaker_prefix,
$event_speaker_first_name,
$event_speaker_middle_name,
$event_speaker_last_name,
$event_speaker_suffix,
$event_speaker_prof_desig,
$event_speaker_bio,
$event_speaker_addr1,
$event_speaker_addr2,
$event_speaker_addr3,
$event_speaker_city,
$event_speaker_state,
$event_speaker_zip,
$event_jde_number,
$event_sub_ledger
);
Comment