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
C# 使用C和实体框架运行Oracle transact-script期间的Oracle错误_C#_Oracle_Entity Framework_Transactions - Fatal编程技术网

C# 使用C和实体框架运行Oracle transact-script期间的Oracle错误

C# 使用C和实体框架运行Oracle transact-script期间的Oracle错误,c#,oracle,entity-framework,transactions,C#,Oracle,Entity Framework,Transactions,Oracle 11.2.0.4.0 我使用C来运行oracle脚本。 我有下一个C方法: public void RunOracleTransaction() { OracleTransaction myTrans; OracleCommand myCommand = con.CreateCommand(); myTrans = con.BeginTransaction(System.Data.Isolati

Oracle 11.2.0.4.0

我使用C来运行oracle脚本。 我有下一个C方法:

public void RunOracleTransaction()
        {
            OracleTransaction myTrans;
            OracleCommand myCommand = con.CreateCommand();
            myTrans = con.BeginTransaction(System.Data.IsolationLevel.ReadCommitted);
            myCommand.Transaction = myTrans;
            myCommand.CommandType = CommandType.Text;

            //string cmdQuery = System.IO.File.ReadAllText(@"oracle_MT_rollback.sql");
            string cmdQuery = System.IO.File.ReadAllText(@"oracle_MT.sql");

            string[] statements = cmdQuery.Split(new string[] { ";\r\n" }, StringSplitOptions.RemoveEmptyEntries);

            foreach (string s in statements)
            {
                if (s.Length > 0)
                {
                    try
                    {
                        myCommand.CommandText = s;
                        myCommand.ExecuteNonQuery();
                        Console.WriteLine(s);

                    }
                    catch (OracleException e)
                    {

                        Console.WriteLine(e);


                        Console.WriteLine("\r\nNeither record was written to database.\r\n");
                    }
                    //myTrans.Rollback();
                }
            }
            myTrans.Commit();
            Console.WriteLine("Commited successfully");
        }
Oracle脚本:

ALTER SESSION SET CURRENT_SCHEMA=<schema_name>;
DROP TABLE MSS_CUSTOMERS;
CREATE TABLE MSS_CUSTOMERS(MCS_ID NUMBER NOT NULL, MCS_NAME VARCHAR2(100) NOT NULL, MCS_IS_ACTIVE VARCHAR2(1) NOT NULL, MCS_IS_OWNING_CUSTOMER VARCHAR2(1) NOT NULL, MCS_OWNER_CUSTOMER_ID    NUMBER NOT NULL );
ALTER TABLE MSS_CUSTOMERS ADD  ( PRIMARY KEY (MCS_ID) );
ALTER TABLE MSS_CUSTOMERS ADD constraint MSS_CUSTOMERS_CSTR1 unique (MCS_NAME);
DROP SEQUENCE MSS_CUSTOMERS_SEQ;
CREATE SEQUENCE MSS_CUSTOMERS_SEQ  START WITH  1  ORDER;
CREATE OR REPLACE TRIGGER MSS_CUSTOMERS_TRG BEFORE INSERT OR UPDATE ON MSS_CUSTOMERS FOR EACH ROW Begin     if :new.MCS_ID is null then         SELECT MSS_CUSTOMERS_SEQ.nextval        INTO :new.MCS_ID        FROM dual;  end if; End;
DROP TABLE MSS_CUSTOMERS_USERS;
CREATE TABLE MSS_CUSTOMERS_USERS (        MCU_CUSTOMER_ID        NUMBER NOT NULL,        MCU_USER_ID            NUMBER NOT NULL );
ALTER TABLE MSS_CUSTOMERS_USERS ADD  ( PRIMARY KEY (MCU_USER_ID) );
DROP INDEX MSS_CUSTOMERS_USER_IDX1;
CREATE INDEX MSS_CUSTOMERS_USER_IDX1 ON MSS_CUSTOMERS_USERS (MCU_CUSTOMER_ID);
DROP TABLE MSS_CUSTOMERS_DOMAINS;
CREATE TABLE MSS_CUSTOMERS_DOMAINS (        MCD_CUSTOMER_ID      NUMBER NOT NULL,        MCD_DOMAIN_ID        NUMBER NOT NULL );
ALTER TABLE MSS_CUSTOMERS_DOMaAINS ADD  ( PRIMARY KEY (MCD_DOMAIN_ID) );
DROP INDEX MSS_CUSTOMERS_DOMAINS_IDX1;
CREATE INDEX MSS_CUSTOMERS_DOMAINS_IDX1 ON MSS_CUSTOMERS_DOMAINS (MCD_CUSTOMER_ID);
DROP TABLE MSS_DELETED_DOMAIN_NAMES;
CREATE TABLE MSS_DELETED_DOMAIN_NAMES (MDDN_CUSTOMER_ID NUMBER NOT NULL, MDDN_DOMAIN_NAME VARCHAR2(255) NOT NULL );
ALTER TABLE MSS_DELETED_DOMAIN_NAMES ADD ( PRIMARY KEY (MDDN_CUSTOMER_ID, MDDN_DOMAIN_NAME));
CREATE TABLE MSS_CUSTOMERS_LICENSES (MCL_CUSTOMER_ID NUMBER NOT NULL, MCL_LICENSE_ID VARCHAR2(100) NOT NULL, MCL_LICENSE_RELEVANCE_ID NUMBER NOT NULL, MCL_LICENSE_VALUE VARCHAR2(100) NOT NULL);
ALTER TABLE MSS_CUSTOMERS_LICENSES ADD ( PRIMARY KEY (MCL_CUSTOMER_ID, MCL_LICENSE_ID, MCL_LICENSE_RELEVANCE_ID) );
CREATE TABLE MSS_LICENSE_RELEVANCES (MLR_ID NUMBER NOT NULL, MLR_NAME  VARCHAR2(4));
ALTER TABLE MSS_LICENSE_RELEVANCES ADD ( PRIMARY KEY (MLR_ID) );
CREATE TABLE MSS_LICENSE_NAMES (     MLN_RELEVANCE_ID  NUMBER NOT NULL,     MLN_ID            VARCHAR2(100) NOT NULL,     MLN_LABEL         VARCHAR2(100) NOT NULL,     MLN_TYPE          VARCHAR2(100) NOT NULL );
ALTER TABLE MSS_LICENSE_NAMES ADD ( PRIMARY KEY (MLN_RELEVANCE_ID, MLN_ID) );
DROP TABLE MSS_ROLES;
CREATE TABLE MSS_ROLES (        MR_ID            NUMBER NOT NULL,        MR_NAME          VARCHAR2(100) NOT NULL,        MR_CUSTOMER_ID   NUMBER NOT NULL );
ALTER TABLE MSS_ROLES ADD  ( PRIMARY KEY (MR_ID) );
ALTER TABLE MSS_ROLES ADD constraint MSS_ROLES_CSTR1 unique (MR_CUSTOMER_ID, MR_NAME);
DROP SEQUENCE MSS_ROLES_SEQ;
CREATE SEQUENCE MSS_ROLES_SEQ  START WITH  1  ORDER;
CREATE OR REPLACE TRIGGER MSS_ROLES_TRG BEFORE INSERT OR UPDATE ON MSS_ROLES FOR EACH ROW Begin     if :new.MR_ID is null then      SELECT MSS_ROLES_SEQ.nextval        INTO :new.MR_ID         FROM dual;  end if; End;
DROP TABLE MSS_ROLES_PERMISSIONS;
CREATE TABLE MSS_ROLES_PERMISSIONS (        MRP_ROLE_ID          NUMBER NOT NULL,        MRP_PERMISSION       VARCHAR2(100) NOT NULL );
DROP TABLE MSS_POLICIES;
CREATE TABLE MSS_POLICIES (        MP_POLICY_ID         NUMBER NOT NULL,        MP_CUSTOMER_ID       NUMBER NOT NULL,        MP_POLICY_NAME       VARCHAR2(100) NOT NULL,        MP_POLICY_DESC       VARCHAR2(500),        MP_LAST_CHANGED      INTEGER NOT NULL,        MP_DEFAULT_POLICY    NUMBER );
ALTER TABLE MSS_POLICIES ADD  ( PRIMARY KEY (MP_POLICY_ID) );
ALTER TABLE MSS_POLICIES ADD constraint MSS_POLICIES_CSTR1 unique (MP_CUSTOMER_ID, MP_POLICY_NAME);
DROP SEQUENCE MSS_POLICIES_SEQ;
CREATE SEQUENCE MSS_POLICIES_SEQ  START WITH  1  ORDER;
CREATE OR REPLACE TRIGGER MSS_POLICIES_TRG BEFORE INSERT OR UPDATE ON MSS_POLICIES FOR EACH ROW Begin   if :new.MP_POLICY_ID is null then       SELECT MSS_POLICIES_SEQ.nextval         INTO :new.MP_POLICY_ID      FROM dual;  end if; End;
DROP TABLE MSS_VALIDATORS;
CREATE TABLE MSS_VALIDATORS (        MV_VALIDATOR_ID        NUMBER NOT NULL,        MV_VALIDATOR_CLASS     VARCHAR2(100) NOT NULL,        MV_VALIDATOR_DESC      VARCHAR2(500) NOT NULL );
ALTER TABLE MSS_VALIDATORS ADD  ( PRIMARY KEY (MV_VALIDATOR_ID) );
DROP TABLE MSS_POLICIES_VALIDATORS;
CREATE TABLE MSS_POLICIES_VALIDATORS (        MPV_POLICY_ID        NUMBER NOT NULL,        MPV_VALIDATOR_ID     NUMBER NOT NULL,        MPV_PARAM1           VARCHAR2(100),        MPV_PARAM2           VARCHAR2(100),        MPV_PARAM3           VARCHAR2(100),        MPV_PARAM4           VARCHAR2(100),        MPV_PARAM5           VARCHAR2(100) );
ALTER TABLE MSS_POLICIES_VALIDATORS ADD  ( PRIMARY KEY (MPV_POLICY_ID, MPV_VALIDATOR_ID) );
DROP TABLE MSS_USERS_SECURITY;
CREATE TABLE MSS_USERS_SECURITY (        MUS_USER_ID               NUMBER NOT NULL,        MUS_PASSWORD_HISTORY      VARCHAR2(4000),        MUS_HISTORY_MAX_SIZE      NUMBER NOT NULL,        MUS_LAST_FAILED_LOGIN     INTEGER NOT NULL,        MUS_LAST_PASSWORD_CHANGED INTEGER NOT NULL,        MUS_MIGRATION_TIME        INTEGER NOT NULL,        MUS_UNLOCK_TIME           INTEGER NOT NULL,        MUS_IS_ACTIVE             NUMBER,        MUS_ACTIVE_TIME           INTEGER,        MUS_FAILED_LOGINS         NUMBER NOT NULL,        MUS_POLICY_ID             NUMBER NOT NULL,        MUS_IS_LAST_LOGIN_FAILED  NUMBER NOT NULL,        MUS_ROLE_ID               NUMBER,        MUS_IS_CUST_ADMIN         INTEGER,        MUS_FIRST_FAILED_LOGIN    INTEGER NOT NULL,        MUS_FAILED_LOGINS_IN_TIMEFRAME INTEGER NOT NULL,        MUS_FIRST_PASSWORD_CHANGED INTEGER NOT NULL,        MUS_PASSWORD_CHANGES       INTEGER NOT NULL );
ALTER TABLE MSS_USERS_SECURITY ADD  ( PRIMARY KEY (MUS_USER_ID) );
DROP TABLE MSS_CONFIG;
CREATE TABLE MSS_CONFIG (        MC_ID                NUMBER NOT NULL,        MC_CUSTOMER_ID       NUMBER NOT NULL,        MC_NAME              VARCHAR2(300) NOT NULL,        MC_VALUE             VARCHAR2(300) NOT NULL,        MC_DESC              VARCHAR2(300) );
ALTER TABLE MSS_CONFIG ADD  ( PRIMARY KEY (MC_ID) );
ALTER TABLE MSS_CONFIG ADD constraint MSS_CONFIG_CSTR1 unique (MC_CUSTOMER_ID, MC_NAME);
DROP SEQUENCE MSS_CONFIG_SEQ;
CREATE SEQUENCE MSS_CONFIG_SEQ  START WITH  1  ORDER;
CREATE OR REPLACE TRIGGER MSS_CONFIG_TRG BEFORE INSERT OR UPDATE ON MSS_CONFIG FOR EACH ROW Begin   if :new.MC_ID is null then      SELECT MSS_CONFIG_SEQ.nextval       INTO :new.MC_ID         FROM dual;  end if; End;
DROP TABLE MSS_AUDIT_LOG;
CREATE TABLE MSS_AUDIT_LOG (        MAL_AUDIT_ID             NUMBER NOT NULL,        MAL_USER_CUSTOMER_ID     NUMBER NOT NULL,        MAL_USER_CUSTOMER_NAME   VARCHAR2(100) NOT NULL,        MAL_ACTIVE_CUSTOMER_ID   NUMBER NOT NULL,        MAL_TIME                 INTEGER NOT NULL,        MAL_CONTEXT              NUMBER NOT NULL,        MAL_OPERATION            NUMBER NOT NULL,        MAL_LOGIN_NAME           VARCHAR2(100) NOT NULL,        MAL_FULL_NAME            VARCHAR2(200),        MAL_AUDIT_TEXT           VARCHAR2(4000) NOT NULL );
ALTER TABLE MSS_AUDIT_LOG ADD(PRIMARY KEY (MAL_AUDIT_ID));
DROP SEQUENCE MSS_AUDIT_LOG_SEQ;
CREATE SEQUENCE MSS_AUDIT_LOG_SEQ  START WITH  1  ORDER;
CREATE OR REPLACE TRIGGER MSS_AUDIT_LOG_TRG BEFORE INSERT OR UPDATE ON MSS_AUDIT_LOG FOR EACH ROW Begin     if :new.MAL_AUDIT_ID is null then       SELECT MSS_AUDIT_LOG_SEQ.nextval        INTO :new.MAL_AUDIT_ID      FROM dual;  end if; End;
DROP INDEX MSS_AUDIT_LOG_IDX1;
CREATE INDEX MSS_AUDIT_LOG_IDX1 ON MSS_AUDIT_LOG (MAL_CONTEXT);
DROP INDEX MSS_AUDIT_LOG_IDX2;
CREATE INDEX MSS_AUDIT_LOG_IDX2 ON MSS_AUDIT_LOG (MAL_OPERATION);
DROP INDEX MSS_AUDIT_LOG_IDX3;
CREATE INDEX MSS_AUDIT_LOG_IDX3 ON MSS_AUDIT_LOG (MAL_ACTIVE_CUSTOMER_ID);
DROP TABLE MSS_VALIDATION_KEYS;
CREATE TABLE MSS_VALIDATION_KEYS (        MVK_KEY          VARCHAR2(300) NOT NULL,        MVK_USER_ID      NUMBER NOT NULL,        MVK_EXPIRATION   INTEGER NOT NULL,        MVK_VALUE        VARCHAR2(300) );
DROP INDEX MSS_VALIDATION_KEYS_IDX1;
CREATE INDEX MSS_VALIDATION_KEYS_IDX1 ON MSS_VALIDATION_KEYS (MVK_KEY);
DROP TABLE MSS_CUSTOMERS_RECIPIENTS;
CREATE TABLE MSS_CUSTOMERS_RECIPIENTS (     MCR_CUSTOMER_ID            NUMBER NOT NULL,     MCR_RECIPIENT_NAME         VARCHAR2(45) NOT NULL,   MCR_RECIPIENT_EMAILS       VARCHAR2(1000) NOT NULL );
ALTER TABLE MSS_CUSTOMERS_RECIPIENTS ADD  ( PRIMARY KEY (MCR_CUSTOMER_ID, MCR_RECIPIENT_NAME) );
INSERT INTO MSS_CUSTOMERS(MCS_ID, MCS_NAME, MCS_IS_ACTIVE, MCS_IS_OWNING_CUSTOMER, MCS_OWNER_CUSTOMER_ID) VALUES(0, 'HP Saas', 'Y', 'Y', 0);
INSERT ALL INTO  MSS_CUSTOMERS_USERS (MCU_CUSTOMER_ID,MCU_USER_ID) VALUES (0, ur_user_id) SELECT  ur_user_id FROM USERS_ROLES WHERE UR_ROLE_ID in (SELECT RT_ROLE_ID FROM ROLES WHERE RT_ROLE_NAME='SiteAdministrators');     
INSERT ALL INTO  MSS_CUSTOMERS_DOMAINS (MCD_CUSTOMER_ID, MCD_DOMAIN_ID) VALUES (0, DOMAIN_ID) SELECT  DOMAIN_ID FROM DOMAINS WHERE DOMAIN_NAME in ('DEFAULT','SAAS_INTERNAL');
INSERT INTO MSS_CONFIG (MC_CUSTOMER_ID, MC_NAME, MC_VALUE, MC_DESC) VALUES (-1,'create.project.db.user','qcdba','Project database schema user name');
INSERT INTO MSS_CONFIG (MC_CUSTOMER_ID, MC_NAME, MC_VALUE, MC_DESC) VALUES (-1,'create.project.db.password','TWO:141-250-140-11-186-204-50-33-117','Project database encrypted schema password');
INSERT INTO MSS_CONFIG (MC_CUSTOMER_ID, MC_NAME, MC_VALUE, MC_DESC) VALUES (-1,'create.project.db.server','192.168.11.164','Project database server name');
INSERT INTO MSS_CONFIG (MC_CUSTOMER_ID, MC_NAME, MC_VALUE, MC_DESC) VALUES (-1,'create.project.db.tablespace','TDDATA','Project database tablespace (used for oracle only)');
INSERT INTO MSS_CONFIG (MC_CUSTOMER_ID, MC_NAME, MC_VALUE, MC_DESC) VALUES (-1,'create.project.db.temp.tablespace','TEMP','Project database temporary tablespace (used for oracle only)');
INSERT INTO MSS_CONFIG (MC_CUSTOMER_ID, MC_NAME, MC_VALUE, MC_DESC) VALUES (-1,'max.allowed.cust.admin.users','-1','Maximum customer administrator users allowed in the site');
INSERT INTO MSS_CONFIG (MC_CUSTOMER_ID, MC_NAME, MC_VALUE, MC_DESC) VALUES (-1,'mail.reset.password.expiration.period.in.hours','24','How long before the link in reset password mail will expire');
INSERT INTO MSS_CONFIG (MC_CUSTOMER_ID, MC_NAME, MC_VALUE, MC_DESC) VALUES (-1,'mail.reset.password.expiration.period.in.hours.description','Reset password mail expiration (hours):','');
INSERT INTO MSS_CONFIG (MC_CUSTOMER_ID, MC_NAME, MC_VALUE, MC_DESC) VALUES (-1,'mail.reset.password.expiration.period.in.hours.validation.method','IsNumeric','');
INSERT INTO MSS_CONFIG (MC_CUSTOMER_ID, MC_NAME, MC_VALUE, MC_DESC) VALUES (-1,'password.minmum.length.in.chars','6','Indicate the minimum length of each new password');
INSERT INTO MSS_CONFIG (MC_CUSTOMER_ID, MC_NAME, MC_VALUE, MC_DESC) VALUES (-1,'mail.reset.password.full.url','true','Determine if full link will be sent with mail or just short link (Reset My Password)');
INSERT INTO MSS_CONFIG (MC_CUSTOMER_ID, MC_NAME, MC_VALUE, MC_DESC) VALUES (-1,'mail.reset.password.full.url.description','Reset password link is full url:','');
INSERT INTO MSS_CONFIG (MC_CUSTOMER_ID, MC_NAME, MC_VALUE, MC_DESC) VALUES (-1,'mail.reset.password.full.url.true.false.listbox','yes','');
INSERT INTO MSS_CONFIG (MC_CUSTOMER_ID, MC_NAME, MC_VALUE, MC_DESC) VALUES (-1,'mail.reset.password.request.username','false','Indicate whether to send user name in reset password link mail');
INSERT INTO MSS_CONFIG (MC_CUSTOMER_ID, MC_NAME, MC_VALUE, MC_DESC) VALUES (-1,'mail.reset.password.request.username.true.false.listbox','yes','');
INSERT INTO MSS_CONFIG (MC_CUSTOMER_ID, MC_NAME, MC_VALUE, MC_DESC) VALUES (-1,'config.refresh.period.in.minutes','5','The time to refresh the config parameters in minutes');
INSERT INTO MSS_CONFIG (MC_CUSTOMER_ID, MC_NAME, MC_VALUE, MC_DESC) VALUES (-1,'strings.refresh.period.in.minutes','60','The time to refresh the strings file in minutes');
INSERT INTO MSS_CONFIG (MC_CUSTOMER_ID, MC_NAME, MC_VALUE, MC_DESC) VALUES (-1,'mss.from.email.address','SaaSNotifications@hp.com','');
INSERT INTO MSS_CONFIG (MC_CUSTOMER_ID, MC_NAME, MC_VALUE, MC_DESC) VALUES (-1,'is.validate.user.mail','true','Does reset password validate user mail matches QC');
INSERT INTO MSS_CONFIG (MC_CUSTOMER_ID, MC_NAME, MC_VALUE, MC_DESC) VALUES (-1,'show.menu.item.users.policy','false','Indicate whethere the Users Policy menu item should be visible');
INSERT INTO MSS_CONFIG (MC_CUSTOMER_ID, MC_NAME, MC_VALUE, MC_DESC) VALUES (-1,'user.management.max.uploaded.users','-1','Maximum uploaded users allowed (negative value for unlimited)');
INSERT INTO MSS_CONFIG (MC_CUSTOMER_ID, MC_NAME, MC_VALUE, MC_DESC) VALUES (-1,'license.max.number.of.projects.for.site', '-1', 'Licensed  number of projects for site.');
INSERT INTO MSS_CONFIG (MC_CUSTOMER_ID, MC_NAME, MC_VALUE, MC_DESC) VALUES (-1,'license.exceeding.number.of.projects.for.site', '0', 'Allowed number of projects to exceed the Licensed  number of projects for site.');
INSERT INTO MSS_CONFIG (MC_CUSTOMER_ID, MC_NAME, MC_VALUE, MC_DESC) VALUES (-1,'saas.monitoring.project.id', '1', 'ID if the project, which serves to Saas monitoring purposes. This project will be hiden in all trees in Add-on');
INSERT INTO MSS_CONFIG (MC_CUSTOMER_ID, MC_NAME, MC_VALUE, MC_DESC) VALUES (-1,'synchronize.mail.template.from.msm', 'true', 'if add-on should get email template from MSM');
INSERT INTO MSS_CONFIG (MC_CUSTOMER_ID, MC_NAME, MC_VALUE, MC_DESC) VALUES (-1,'password.special.characters', '$#@', 'Special characters for the password validator');
INSERT INTO MSS_CONFIG (MC_CUSTOMER_ID, MC_NAME, MC_VALUE, MC_DESC) VALUES (-1,'message.user.locked','Incorrect user login or password. Your account might have been locked after several failed login attempts','Authentication message');
INSERT INTO MSS_CONFIG (MC_CUSTOMER_ID, MC_NAME, MC_VALUE, MC_DESC) VALUES (-1,'message.user.inactive','Your user is inactive','Authentication message');
INSERT INTO MSS_CONFIG (MC_CUSTOMER_ID, MC_NAME, MC_VALUE, MC_DESC) VALUES (-1,'message.password.expired','Your password is expired. Please go back to HP SaaS Application Lifecycle Management page and click on the Change Password link','Authentication message');
INSERT INTO MSS_CONFIG (MC_CUSTOMER_ID, MC_NAME, MC_VALUE, MC_DESC) VALUES (-1,'message.password.not.match.security.policy','Your current password does not meet the current standards. Please go back to HP SaaS Application Lifecycle Management page and click on the Change Password link','Authentication message');
INSERT INTO MSS_CONFIG (MC_CUSTOMER_ID, MC_NAME, MC_VALUE, MC_DESC) VALUES (-1,'demo.project.name','QualityCenter_Demo','Demo Project name.');
INSERT INTO MSS_CONFIG (MC_CUSTOMER_ID, MC_NAME, MC_VALUE, MC_DESC) VALUES (-1,'demo.project.domain.name','DEFAULT','Demo Project domain name. It should be belong to HP Saas customer');
INSERT INTO MSS_CONFIG (MC_CUSTOMER_ID, MC_NAME, MC_VALUE, MC_DESC) VALUES (-1,'product.name.for.msm','ALM','Farm Product type for MSM: PC/QC/ALM');
INSERT INTO MSS_LICENSE_RELEVANCES (MLR_ID, MLR_NAME) VALUES (1, 'ALM');
INSERT INTO MSS_LICENSE_RELEVANCES (MLR_ID, MLR_NAME) VALUES (2, 'PC');
INSERT INTO MSS_LICENSE_RELEVANCES (MLR_ID, MLR_NAME) VALUES (3, 'SAAS');
INSERT INTO MSS_LICENSE_NAMES (MLN_RELEVANCE_ID, MLN_ID, MLN_LABEL, MLN_TYPE)   VALUES (3, 'lic_gen_date', 'License Expiration Date:', 'DATE');
INSERT INTO MSS_LICENSE_NAMES (MLN_RELEVANCE_ID, MLN_ID, MLN_LABEL, MLN_TYPE)   VALUES (3, 'lic_gen_proj_count', 'Projects Limit:', 'NUMBER');
INSERT INTO MSS_LICENSE_NAMES (MLN_RELEVANCE_ID, MLN_ID, MLN_LABEL, MLN_TYPE)   VALUES (2, 'PRJP_VUSER_LIMIT', 'Vusers Limit:', 'NUMBER');
INSERT INTO MSS_LICENSE_NAMES (MLN_RELEVANCE_ID, MLN_ID, MLN_LABEL, MLN_TYPE)   VALUES (2, 'PRJP_VUDS_LIMIT', 'VUDS Limit', 'NUMBER');
INSERT INTO MSS_LICENSE_NAMES (MLN_RELEVANCE_ID, MLN_ID, MLN_LABEL, MLN_TYPE)   VALUES (2, 'PRJP_MACHINE_LIMIT', 'Hosts Limit:', 'NUMBER');
INSERT INTO MSS_LICENSE_NAMES (MLN_RELEVANCE_ID, MLN_ID, MLN_LABEL, MLN_TYPE)   VALUES (2, 'PRJP_CONCURRENT_RUNS', 'Concurrent Test Runs Limit:', 'NUMBER');
INSERT INTO MSS_VALIDATORS (MV_VALIDATOR_ID, MV_VALIDATOR_CLASS, MV_VALIDATOR_DESC) VALUES (1,'PasswordMinAlphabeticChars','The password must contain at least $p1 alphabetic character(s)');
INSERT INTO MSS_VALIDATORS (MV_VALIDATOR_ID, MV_VALIDATOR_CLASS, MV_VALIDATOR_DESC) VALUES (2,'PasswordMinLowerCaseLetters','The password must contain at least $p1 lower case letters');
INSERT INTO MSS_VALIDATORS (MV_VALIDATOR_ID, MV_VALIDATOR_CLASS, MV_VALIDATOR_DESC) VALUES (3,'PasswordMinUpperCaseLetters','The password must contain at least $p1 upper case letter(s)');
INSERT INTO MSS_VALIDATORS (MV_VALIDATOR_ID, MV_VALIDATOR_CLASS, MV_VALIDATOR_DESC) VALUES (4,'PasswordMinNumericCharsValidator','The password must contain at least $p1 numeric character(s)');
INSERT INTO MSS_VALIDATORS (MV_VALIDATOR_ID, MV_VALIDATOR_CLASS, MV_VALIDATOR_DESC) VALUES (5,'PasswordLengthValidator','The password should have a minimum length of $p1 characters and a maximum length of $p2 characters');
INSERT INTO MSS_VALIDATORS (MV_VALIDATOR_ID, MV_VALIDATOR_CLASS, MV_VALIDATOR_DESC) VALUES (6,'FailedLoginsValidator','After $p1 consecutive unsuccessful login attempts, when the time between attempts is less than $p2 minutes, lock the user for $p3 minutes');
INSERT INTO MSS_VALIDATORS (MV_VALIDATOR_ID, MV_VALIDATOR_CLASS, MV_VALIDATOR_DESC) VALUES (7,'PasswordHistoryValidator','The password cannot be identical to one of the last $p1 passwords (case insensitive comparison)');
INSERT INTO MSS_VALIDATORS (MV_VALIDATOR_ID, MV_VALIDATOR_CLASS, MV_VALIDATOR_DESC) VALUES (8,'PasswordMaxAgeValidator','Users must reset their password once in every $p1 days');
INSERT INTO MSS_VALIDATORS (MV_VALIDATOR_ID, MV_VALIDATOR_CLASS, MV_VALIDATOR_DESC) VALUES (9,'PasswordMinAgeValidator','Users cannot change their password more than $pl times in $p2 hours');
INSERT INTO MSS_VALIDATORS (MV_VALIDATOR_ID, MV_VALIDATOR_CLASS, MV_VALIDATOR_DESC) VALUES (10,'PasswordLoginNameCommonConsecCharsValidator','The password cannot contain more than $p1 consecutive characters in common with the user login name');
INSERT INTO MSS_VALIDATORS (MV_VALIDATOR_ID, MV_VALIDATOR_CLASS, MV_VALIDATOR_DESC) VALUES (11,'PasswordFullNameCommonConsecCharsValidator','The password cannot contain more than $p1 consecutive characters in common with the user full name');
INSERT INTO MSS_VALIDATORS (MV_VALIDATOR_ID, MV_VALIDATOR_CLASS, MV_VALIDATOR_DESC) VALUES (12,'PasswordEmailCommonConsecCharsValidator','The password cannot contain more than $p1 consecutive characters in common with the user email');
INSERT INTO MSS_VALIDATORS (MV_VALIDATOR_ID, MV_VALIDATOR_CLASS, MV_VALIDATOR_DESC) VALUES (13,'LoginNameContainsPasswordValidator','The user login name cannot contain the password (case insensitive comparison)');
INSERT INTO MSS_VALIDATORS (MV_VALIDATOR_ID, MV_VALIDATOR_CLASS, MV_VALIDATOR_DESC) VALUES (14,'FullNameContainsPasswordValidator','The user full name cannot contain the password (case insensitive comparison)');
INSERT INTO MSS_VALIDATORS (MV_VALIDATOR_ID, MV_VALIDATOR_CLASS, MV_VALIDATOR_DESC) VALUES (15,'EmailContainsPasswordValidator','The user email cannot contain the password (case insensitive comparison)');
INSERT INTO MSS_VALIDATORS (MV_VALIDATOR_ID, MV_VALIDATOR_CLASS, MV_VALIDATOR_DESC) VALUES (16,'PasswordRepeatingCharValidator','The password cannot contain the same character more than $p1 times');
INSERT INTO MSS_VALIDATORS (MV_VALIDATOR_ID, MV_VALIDATOR_CLASS, MV_VALIDATOR_DESC) VALUES (17,'PasswordLastPasswordCommonSubstringValidator','The password cannot contain more than $p1 consecutive characters in common with the old (previous) password');
INSERT INTO MSS_VALIDATORS (MV_VALIDATOR_ID, MV_VALIDATOR_CLASS, MV_VALIDATOR_DESC) VALUES (18,'PasswordRepeatingSubstringValidator','The password cannot contain a repeating substring, which length is more than $p1 characters more than $p2 times');
INSERT INTO MSS_VALIDATORS (MV_VALIDATOR_ID, MV_VALIDATOR_CLASS, MV_VALIDATOR_DESC) VALUES (19,'PasswordSpecialCharsValidator','The password must contain at least $pl special characters');
INSERT INTO MSS_VALIDATORS (MV_VALIDATOR_ID, MV_VALIDATOR_CLASS, MV_VALIDATOR_DESC) VALUES (20,'PasswordLeadingAlphamericChar','The password must contain a leading alpha-numeric character');
INSERT INTO MSS_VALIDATORS (MV_VALIDATOR_ID, MV_VALIDATOR_CLASS, MV_VALIDATOR_DESC) VALUES (21,'FailedLoginsTimeFrameValidator','After $p1 consecutive failed login attempts within $p2 hours the user will be locked.');
INSERT INTO MSS_POLICIES (MP_CUSTOMER_ID, MP_POLICY_NAME, MP_POLICY_DESC, MP_DEFAULT_POLICY, MP_LAST_CHANGED) VALUES (0,'Default','Default policy', 1, 0);
INSERT INTO MSS_POLICIES (MP_POLICY_ID, MP_CUSTOMER_ID, MP_POLICY_NAME, MP_POLICY_DESC, MP_DEFAULT_POLICY, MP_LAST_CHANGED) VALUES (-1, 0,'TEMPLATE_POLICY_FOR_NEW_CUSTOMERS','Template for first policy for new customers', 0, 0);
INSERT INTO MSS_POLICIES_VALIDATORS (MPV_POLICY_ID, MPV_VALIDATOR_ID, MPV_PARAM1) VALUES (-1,2,'1');
INSERT INTO MSS_POLICIES_VALIDATORS (MPV_POLICY_ID, MPV_VALIDATOR_ID, MPV_PARAM1) VALUES (-1,3,'1');
INSERT INTO MSS_POLICIES_VALIDATORS (MPV_POLICY_ID, MPV_VALIDATOR_ID, MPV_PARAM1) VALUES (-1,4,'1');
INSERT INTO MSS_POLICIES_VALIDATORS (MPV_POLICY_ID, MPV_VALIDATOR_ID, MPV_PARAM1, MPV_PARAM2) VALUES (-1,5,'8','20');
INSERT INTO MSS_POLICIES_VALIDATORS (MPV_POLICY_ID, MPV_VALIDATOR_ID, MPV_PARAM1, MPV_PARAM2, MPV_PARAM3) VALUES (-1,6,'3','5','60');
INSERT INTO MSS_POLICIES_VALIDATORS (MPV_POLICY_ID, MPV_VALIDATOR_ID, MPV_PARAM1) VALUES (-1,7,'6');
INSERT INTO MSS_POLICIES_VALIDATORS (MPV_POLICY_ID, MPV_VALIDATOR_ID, MPV_PARAM1) VALUES (-1,8,'90');
INSERT INTO MSS_POLICIES_VALIDATORS (MPV_POLICY_ID, MPV_VALIDATOR_ID, MPV_PARAM1, MPV_PARAM2) VALUES (-1,9,'1','12');
INSERT INTO MSS_POLICIES_VALIDATORS (MPV_POLICY_ID, MPV_VALIDATOR_ID, MPV_PARAM1) VALUES (-1,10,'3');
INSERT INTO MSS_POLICIES_VALIDATORS (MPV_POLICY_ID, MPV_VALIDATOR_ID, MPV_PARAM1) VALUES (-1,11,'3');
INSERT INTO MSS_POLICIES_VALIDATORS (MPV_POLICY_ID, MPV_VALIDATOR_ID, MPV_PARAM1) VALUES (-1,12,'3');
INSERT INTO MSS_POLICIES_VALIDATORS (MPV_POLICY_ID, MPV_VALIDATOR_ID, MPV_PARAM1) VALUES (-1,16,'3');
INSERT INTO MSS_POLICIES_VALIDATORS (MPV_POLICY_ID, MPV_VALIDATOR_ID, MPV_PARAM1) VALUES (-1,17,'3');
INSERT INTO MSS_POLICIES_VALIDATORS (MPV_POLICY_ID, MPV_VALIDATOR_ID, MPV_PARAM1, MPV_PARAM2) VALUES (-1,18,'3','1');
INSERT INTO MSS_POLICIES_VALIDATORS (MPV_POLICY_ID, MPV_VALIDATOR_ID, MPV_PARAM1, MPV_PARAM2) VALUES (-1,21,'6','24');
DELETE FROM PARAMS WHERE PARAM_NAME = 'EXTERNAL_AUTHENTICATOR_CLASS_NAME' OR PARAM_NAME = 'AUTHENTICATION';
INSERT INTO PARAMS (PARAM_NAME, PARAM_VALUE) VALUES ('EXTERNAL_AUTHENTICATOR_CLASS_NAME', 'com.mercury.mms.qc.security.Authenticator');
INSERT INTO PARAMS (PARAM_NAME, PARAM_VALUE) VALUES ('AUTHENTICATION', 'External');
INSERT INTO PARAMS (PARAM_NAME, PARAM_VALUE, PARAM_DESCRIPTION) VALUES('MSM_BASE_URL', 'https://portal.saas.hp.com', 'MSM URL for integration');
INSERT INTO PARAMS (PARAM_NAME, PARAM_VALUE, PARAM_DESCRIPTION) VALUES('STAGING', 'false', 'Staging farm will not receive notifications from MSM');
INSERT INTO PARAMS (PARAM_NAME, PARAM_VALUE, PARAM_DESCRIPTION) VALUES('DEV_MODE', 'false', 'Will not handshake API requests comes from MSM (do not modify it without R&D permissions)');
INSERT INTO PARAMS (PARAM_NAME, PARAM_VALUE, PARAM_DESCRIPTION) VALUES('CustomerName', 'Farm name', 'Farm name for MSM integration');
INSERT INTO PARAMS (PARAM_NAME, PARAM_VALUE, PARAM_DESCRIPTION) VALUES('QC_VERSION', '11.52', 'Product version for MSM integration');
INSERT INTO PARAMS (PARAM_NAME, PARAM_VALUE, PARAM_DESCRIPTION, PARAM_IS_SYSTEM, PARAM_IS_VISIBLE) VALUES ('PASSWORD_RESET_DISABLE','Y','This parameter determines whether ALM users can reset their passwords using the Forgot Password link in the ALM Login window.','N','Y');
INSERT INTO PARAMS (PARAM_NAME, PARAM_VALUE, PARAM_DESCRIPTION, PARAM_IS_VISIBLE) VALUES ('SAAS_ADDON_FIRST_CHILD_INITIALIZATION','Y','Assigning all licenses to the first child which will be created manually by HP SaaS customer','Y');
在运行该sql脚本的过程中,一般事务成功,但在执行某些INSERT的过程中,我可以看到ORA-04098:触发器无效且重新验证失败,违反了ORA-00001 unique

当我通过SQLDeveloper工具运行这个脚本时,一切正常,没有遇到任何问题

你能帮我解决这个问题吗

提前谢谢。

*

ORA-04098
CAUSE
A trigger was attempted to be retrieved for execution and was found to be invalid. This also means that compilation/authorization failed for the trigger.
RESOLUTION
The options are to resolve the compilation/authorization errors, disable the trigger, or drop the trigger.
You can also try running the following command to check for errors on the trigger
*

ORA-00001
CAUSE
You tried to execute an INSERT or UPDATE statement that has created a duplicate value in a field restricted by a unique index.
RESOLUTION
The option(s) to resolve this Oracle error are:
Option #1
Drop the unique constraint.
Option #2
Change the constraint to allow duplicate values.
Option #3
Modify your SQL so that a duplicate value is not created