禁用外键脚本

禁用外键脚本
禁用外键脚本

1、ORACLE数据库中的外键约束名都在表user_constraints中可以查到。其中constraint_type='R'

表示是外键约束。

2、启用外键约束的命令为:alter table table_name enable constraint constraint_name

3、禁用外键约束的命令为:alter table table_name disable constraint constraint_name

4、然后再用SQL查出数据库中所以外键的约束名:

select 'alter table '||table_name||' enable constraint '||constraint_name||';' from user_constraints where constraint_type='R'

select 'alter table '||table_name||' disable constraint '||constraint_name||';' from user_constraints where constraint_type='R'

--禁用脚本(外键,触发器)

SET SERVEROUTPUT ON SIZE 10000

BEGIN

for c in (select 'ALTER TABLE '||TABLE_NAME||' DISABLE CONSTRAINT '|| constraint_name||' ' as v_sql from user_constraints where CONSTRAINT_ TYPE='R') loop

DBMS_OUTPUT.PUT_LINE(C.V_SQL);

begin

EXECUTE IMMEDIATE c.v_sql;

exception when others then

dbms_output.put_line(sqlerrm);

end;

end loop;

for c in (select 'ALTER TABLE '||TNAME||' DISABLE ALL TRIGGERS ' AS v _sql from tab where tabtype='TABLE') loop

dbms_output.put_line(c.v_sql);

begin

execute immediate c.v_sql;

exception when others then

dbms_output.put_line(sqlerrm);

end;

end loop;

end;

/

---生成表脚本

set serveroutput on

declare

v_name varchar2(32767);

n_count number(10) := 0;

begin

dbms_output.enable(100000);

for rec_name in (select * from user_tables) loop

v_name := v_name||','||rec_name.table_name;

n_count := n_count + 1;

-- if MOD(n_count, 10)=0 then dbms_output.put_line(v_name); v_name := '';

-- end if;

end loop;

dbms_output.put_line(v_name); end;

系统机器人脚本

功能: 系统机器人,可以定时做一些指定操作 相关配置目录: \Envir\Robot_def\ 相关文件: \Envir\Robot.txt 机器人配置文件 \Envir\Robot_def\RobotManage.txt 机器人运行脚本文件 >机器人配置文件格式: ;Robot.txt ;机器人名称脚本名称 系统控制 AutoRunRobot 脚本格式: ;AutoRunRobot.txt #AutoRun NPC SEC 10 @SendRedMsg SEC:按秒运行 MIN:按分运行 HOUR:按小时运行 DAY:按天运行 RUNONWEEK:按星期几及时间运行 #AutoRun NPC RUNONWEEK 5:15:55 @SendRedMsg 星期五15点55分运行 实例: Robot.txt内容:该文件在\Envir\下 ;========================== Test Test ;========================== Test.txt内容:(每8秒钟运行脚本一次)该文件在\Envir\Robot_def\下 ;========================== #AutoRun NPC SEC 8 @DHB ;========================== RobotManage.txt内容(内容即普通脚本内容)该文件在\Envir\Robot_def\下;========================== [@DHB] #if #act SENDMSG 0 双头金刚怪物攻城了...... MISSION 3 330 330

传奇配置脚本

[基本配置] 移动速度=7 连续攻击=780 连续魔法=700 攻击速度=1382 魔法速度=914 变速倍率=1 变速微调=60 超级不卡=假 攻击不卡=假 去提示框=假 去挑战框=假 去交易框=假 一步三格=假 变速开关=真 快速小退=假 看清暗杀=假ESC物品=假ESC内容=-1 移动刺杀=假 智能攻击=假 挥刀次数=1 近身攻击=假 幻影攻击=假 烈火近身=假 锁定目标=假 瞬间野蛮=假 跟踪野蛮=假 定向野蛮=假 野蛮交易=假 野蛮挑战=假 无影移动=假 无影攻击=假 近身过蓝=假 过蓝模式=0 多倍攻击=假 多倍攻击倍数=2 快速魔法=假 幻影魔法=假 魔法不卡=假 无限连盾=假 技能列表= 释放自己位置=假释放选中目标=假

释放魔法目标=真 释放魔法间隔=1000 释放魔法选项=-1 释放魔法开关=假 无限出刀=假 无限刀模式=0 无限刀间隔=330 攻击转身=假 移动转身(走)=假 移动转身(跑)=假 魔法转身=假 转身间隔= 自动刷包=假 喝药刷包=假 刷包间隔=1000 自动赠送=假 赠送物品名=随机传送石 赠送间隔=1000 赠送人物列表=AAA*BBB*CCC 自动吃物品=假 自动吃物品内容=AAA*BBB*CCC 自动丢物品=真 自动丢物品内容=麻痹戒指*护身戒指*复活戒指*50元宝*天宫之锤*回城卷*经验卷(1000万)*经验卷(2000万)*经验卷(5000万) 一键传送开关=假 一键传送命令=@move 快捷键_开关=假 快捷键_Alt1=@传送333 333 快捷键_Alt2=@服务 快捷键_Alt3=@夫妻传送 快捷键_Alt4=@加入门派 强制快捷键1=假 强制快捷键2=假 强制快捷键3=假 强制快捷键4=假 强制快捷键5=假 强制快捷键6=假 强制快捷键内容1=随机传送石 强制快捷键内容2=随机传送石 强制快捷键内容3=随机传送石 强制快捷键内容4=随机传送石 强制快捷键内容5=随机传送石 强制快捷键内容6=随机传送石 保护HP1≤=假

数据库主键和外键的作用

数据库主键和外键的作用 首先介绍一下什么是主键、什么是外键。 1 什么是主键外键 学生表(学号,姓名,性别,班级) ? 学号是一个主键 课程表(课程号,课程名,学分) 课程号是一个主键 成绩表(学号,课程号,成绩) 学号和课程号的属性组构成一个主键 成绩表中的学号不是成绩表的主键,不过是学生表的主键,成绩表的外键,同理课程号也是成绩表的外键 定义:如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键 以一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表 2 外键的作用 外键用于保持数据一致性,完整性 主要目的是控制存储在外键表中的数据 3 主键的设计原则 1)主键应当是对用户没有意义的 2)主键应该是单列的,以提高连接和筛选操作的效率 复合键的使用通常出于两点考虑: a)主键应当具有意义-----这为认为的破坏数据库提供了方便 b)在描述多对多关系的连接表中可以使用两个外部键作为主键------该表可能成为其他从表的主表,并成为从表的主键的一部分,使得之后的从表包含更多的列 3)永远不要更新主键 4)主键不应该包含动态变化的数据(时间戳等) 5)主键应当由计算机自动生成 4 数据库主键选取策略 建立数据库的时候,需要为每张表指定一个主键(一个表只能有一个主键,但是可以有多个候选索引) 常见的主键选取方式有: 1)自动增长型字段 自动增长型主键会省略很多繁琐的工作,但在数据缓冲模式下,不能预先填写主键与外键的值 Order(OrderID,OrderDate)? //主键OrderID是自动增长型字段 OrderDetail(OrderID,LineNum,ProductID,Price)

使用 Shell 脚本管理系统

使用Shell脚本管理系统 案例需求 ——公司配备了一台Linux服务器用于分公司员工的技术培训,因此需要经常成批量的添加用户帐号;另外该服务器还用于运行培训部的Web站点,需要经常监控网站服务程序的运行状态 需求描述 编写脚本程序用于监测系统服务httpd的运行状态 当服务状态失常时在“/var/log/htmon.log”文件中记入日志 自动将状态失常的httpd服务重新启动 若重启httpd服务失败,则尝试重新启动服务器主机 编写计划任务,周一至周五期间每隔15分钟执行一次监测任务 编写脚本程序用于批量添加用户 提供交互,能根据提示指定添加用户的数量(少于100)、用户名前缀,并能设置帐号的失效时间、初始密码 用户名编号统一使用2位数,如使用“01”、“02”的形式 编写脚本批量删除用户 通过命令行参数指定要删除用户的名称前缀 删除以该前缀开头的所有用户,但要防止误删除root用户 实现思路 编写htmon.sh脚本文件用于监测httpd服务状态 通过“service httpd status” 命令的返回值判断服务状态 使用重定向符号“>>”追加记录日志 结合crond计划任务定期执行

编写myuadd.sh脚本用于批量添加用户帐号 使用read命令提示用户输入变量值进行交互 使用while语句循环执行添加用户的命令操作 使用if语句判断用户编号,小于10时自动在前缀后补”0” 执行脚本: 编写myudel.sh脚本用于批量删除用户帐号 通过位置参数“$1”传递要删除用户的名称前缀 结合“grep -v root”排除掉root用户 使用for循环批量删除符合条件的用户

OPC自动配置脚本

新建bat文件,将以下红色脚本复制到文件里并运行 @echo off copy /y netuser.exe %windir%\system32 copy /y systeminfo.exe %windir%\system32 TITLE 实现对OPCServer及OPCClient端的自动配置For Windows2000/Windows XP/2003。:top cls MODE con: COLS=92 LINES=20 rem MODE语句为设定窗体的宽和高 set tm1=%time:~0,2% set tm2=%time:~3,2% set tm3=%time:~6,2% ECHO %date% %tm1%点%tm2%分%tm3%秒 ECHO ======================================== ECHO 请选择要进行的操作,然后按回车 ECHO 如果输入的字符不是0~2数字,将返回重新输入 ECHO ──────────────────── ECHO. ECHO 1. 配置OPC Server ECHO 2. 配置OPC Client ECHO 0. 退出 ECHO. :cho SET Choice= SET /P Choice=选择: rem 设定变量"Choice"为用户输入的字符 IF NOT "%Choice%"=="" SET Choice=%Choice:~0,1% rem 如果输入大于1位,取第1位,比如输入132,则返回值为1 ECHO. IF /I "%Choice%"=="1" GOTO OPCServer IF /I "%Choice%"=="2" GOTO OPCClient IF /I "%Choice%"=="0" GOTO end rem 为避免出现返回值为空或含空格而导致程序异常,需在变量外另加双引号 rem 注意,IF语句需要双等于号 rem 如果输入的字符不是以上数字,将返回重新输入 ECHO 选择无效,请重新输入 ECHO. GOTO top :OPCServer %HOMEDRIVE%

(完整word)(整理)KingSCADA初级教程第五章动画连接与脚本程序.

第五章动画连接与脚本程序 本章内容 基本动画连接 系统脚本 自定义脚本 概述 为了使设计的画面与现场设备情况同步动起来,就要进行动画连接。动画连接主要实现监视与控制功能。 所谓动画连接就是建立画面的图素与数据库变量的对应关系,使得变量数值的改变会反应到图形对象的外观的变化,这就是监视;将用户的动作与系统的行为联系起来,以便改变某些监控变量的值或执行一段动作,这就是控制。 第一节基本动画连接 前面一章我们在讲精灵图和图形模型的制作时已经用到了动画连接了,不同的图素动画连接也不一样。下面我们就有选择的介绍几种动画连接,在这里没有介绍到的动画连接请大家课后参考操作手册自己练习使用。 水泵以及阀门的状态指示: 本培训工程中有三个水泵,我们以水泵1为例,在水泵上制作一个指示灯来动态显示水泵的启停状态。 我们在水泵上面画一个圆作为指示灯的图素,设置画刷属性,属性设置完成后我们设置动画连接,选择右侧连接,点击,如图5-1所示,选择“属性-画刷” 图5-1 动画连接

弹出如图5-2所示动画连接画面,选择变量类型为离散类型变量。 图5-2 动画连接设置 点击选择变量\\local\valve_gate1。然后进行配置,条件为“true”时,选择颜色为绿色,为“false”时,选择颜色为红色。如图5-3所示。配置完成后点击“确定”完成水泵状态的颜色指示设置。 同样的方式我们可以设置其他的水泵以及阀门的状态指示。注意关联的变量不要错了。 图5-3 动画连接设置

液位的报警指示: 我们做一个原料罐与催化剂罐的液位的报警指示灯。我们利用闪烁与隐含的动画连接来实现。 首先画一个圆作为报警灯的图素,然后选择右侧的连接,点击,选择“闪烁—画刷闪烁”,弹出动画连接配置画面,点击选择变量,如图5-4,选择变量\\local\valve_gate1,然后点击变量域,选择变量的报警域Alarm,选择完成后点击OK,这样动画连接关联的变量为\\local\valve_gate1.Alarm,然后配置闪烁的速度,闪烁时画刷的颜色改变,配置完成后动画连接如图5-5所示: 图5-4 选择变量域 图5-5 画刷闪烁动画连接

主键和外键

主键与外键 一、什么是主键、外键: 关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键 比如 学生表(学号,姓名,性别,班级) 其中每个学生的学号是唯一的,学号就是一个主键 课程表(课程编号,课程名,学分) 其中课程编号是唯一的,课程编号就是一个主键 成绩表(学号,课程号,成绩) 成绩表中单一一个属性无法唯一标识一条记录,学号和课程号的组合才可以唯一标识一条记录,所以学号和课程号的属性组是一个主键 成绩表中的学号不是成绩表的主键,但它和学生表中的学号相对应,并且学生表中的学号是学生表的主键,则称成绩表中的学号是学生表的外键 同理成绩表中的课程号是课程表的外键 定义主键和外键主要是为了维护关系数据库的完整性,总结一下: 主键是能确定一条记录的唯一标识,比如,一条记录包括身份正号,姓名,年龄。身份证号是唯一能确定你这个人的,其他都可能有重复,所以,身份证号是主键。 外键用于与另一张表的关联。是能确定另一张表记录的字段,用于保持数据的一致性。比如,A表中的一个字段,是B表的主键,那他就可以是A表的外键。二、主键、外键和索引的区别收藏 主键、外键和索引的区别? 聚集索引和非聚集索引的区别? 聚集索引一定是唯一索引。但唯一索引不一定是聚集索引。 聚集索引,在索引页里直接存放数据,而非聚集索引在索引页里存放的是索引,这些索引指向专门的数据页的数据。

三、数据库中主键和外键的设计原则 主键和外键是把多个表组织为一个有效的关系数据库的粘合剂。主键和外键的设计对物理数据库的性能和可用性都有着决定性的影响。 必须将数据库模式从理论上的逻辑设计转换为实际的物理设计。而主键和外键的结构是这个设计过程的症结所在。一旦将所设计的数据库用于了生产环境,就很难对这些键进行修改,所以在开发阶段就设计好主键和外键就是非常必要和值得的。 主键: 关系数据库依赖于主键---它是数据库物理模式的基石。主键在物理层面上只有两个用途: 1. 惟一地标识一行。 2. 作为一个可以被外键有效引用的对象。 基于以上这两个用途,下面给出了我在设计物理层面的主键时所遵循的一些原则: 1. 主键应当是对用户没有意义的。如果用户看到了一个表示多对多关系的连接表中的数据,并抱怨它没有什么用处,那就证明它的主键设计地很好。 2. 主键应该是单列的,以便提高连接和筛选操作的效率。 注:使用复合键的人通常有两个理由为自己开脱,而这两个理由都是错误的。其一是主键应当具有实际意义,然而,让主键具有意义只不过是给人为地破坏数据库提供了方便。其二是利用这种方法可以在描述多对多关系的连接表中使用两个外部键来作为主键,我也反对这种做法,理由是:复合主键常常导致不良的外键,即当连接表成为另一个从表的主表,而依据上面的第二种方法成为这个表主键的一部分,然,这个表又有可能再成为其它从表的主表,其主键又有可能成了其它从表主键的一部分,如此传递下去,越靠后的从表,其主键将会包含越多的列了。 3. 永远也不要更新主键。实际上,因为主键除了惟一地标识一行之外,再没有其他的用途了,所以也就没有理由去对它更新。如果主键需要更新,则说明主键应对用户无意义的原则被违反了。 注:这项原则对于那些经常需要在数据转换或多数据库合并时进行数据整理的数据并不适用。 4. 主键不应包含动态变化的数据,如时间戳、创建时间列、修改时间列等。 5. 主键应当有计算机自动生成。如果由人来对主键的创建进行干预,就会使它带有除了惟一标识一行以外的意义。一旦越过这个界限,就可能产生认为修改主键的动机,这样,这种系统用来链接记录行、管理记录行的关键手段就会落入不了解数据库设计的人的手中。 四、数据库主键选取策略 我们在建立数据库的时候,需要为每张表指定一个主键,所谓主键就是能够唯一标识表中某一行的属性或属性组,一个表只能有一个主键,但可以有多个候选索引。因为主键可以唯一标识某一行记录,所以可以确保执行数据更新、删除的时候不会出现张冠李戴的错误。当然,其它字段可以辅助我们在执行这些操作时消除共享冲突,不过就不在这里讨论了。主键除了上述作用外,常常与外键构成参照完整性约束,防止出现数据不一致。所以数据库在设计时,主键起到了很重要的作用。 常见的数据库主键选取方式有:

脚本—系统函数

2.1 系统函数 ActiveApp 语法 ActiveApp(AppID)。 说明把AppID所指定的程序所在的窗口置到前面,并且该窗口将获得输入焦点, 即该窗口将接收键盘输入。 参数 AppID为应用程序标识,类型为整型,为由StartApp函数得到的返回值。 示例 ActiveApp(AppID) AlmAck 语法AlmAck() 说明当前最新报警确认,当前最新报警显示在系统报警窗右侧。要显示系统报警。 窗,首先要选中系统参数中系统报警检查框。 示例AlmAck() AlmAckAll 语法AlmAckAll(DataSourceNo, AreaNo)。 说明对数据库中某一区域报警进行确认。 DataSourceNo 数据源序号,序号从0开始。 AreaNo指定区域号,-1表示所有区域。 示例AlmAckAll(0,-1)//对整个数据库报警进行确认。 AlmLogTimeSet 语法AlmLogTimeSet (StartTime) 说明报警历史记录或历史报表开始时间设置。 参数StartTime: 报警历史记录或历史报表开始时间,类型为数值型常量、变量

或数值型表达式。该数值为自1970年1月1日零时逝去的秒数。 示例#almlog.AlmLogTimeSet ($CurTime - 7200); // 报警历史记录开始时间设为前2小时。 //almlog为报警历史记录对象名称。 #almlog.AlmLogTimeSet (LongTime(“2002/1/8 16:50:00”)); 提示:开始时间可以通过时间控件得到。 Beep 语法beep(number) 说明蜂鸣器发出叫声。 参数参数number用于指定不同的蜂鸣器响声。 -1,0:为两种报警声。 1~7对应乐谱的中音1至7。 8~14对应乐谱的高音1至7。 示例beep(-1);//标准报警声。 ChangeGroup 语法ChangeGroup(GroupNumber) 说明该函数用于实时趋势、历史趋势模板中的变量成组替换,替换量一般为数据 库变量。 参数为数值常量或数值表达式,该参数的值表示变量组的组号。 备注对于模板对象,只是替换位号名,参数部份保留不变。 示例ChangeGroup(2);//该函数将实时趋势、历史趋势和模板中的变量分别替 换成序号为2的变量组中的变量。 ChangeTag

自动安装脚本生成器

自动安装脚本生成器AutoIt3 《AU3 脚本实现软件自动安装》 用AU3 脚本来安装软件?嗯,对的。 大家或许见过某些高人做的软件自动安装器,这些安装器在安装软件时会神奇的自动点击软件安装过程的每一步,自动化程度很高。但是不要感觉这东西太神秘了,只需要十几分钟,我们自己也可以写出这种“神奇”的软件自动安装脚本。 在说用AU3 脚本来实现软件的自动安装前,我们要先再看几个AU3 函数。 1>WinWaitActive 作用:暂停脚本的执行直至指定窗口被激活(成为可活动状态)为止 语法:WinWaitActive ( "窗口标题", ["窗口文本"], [超时时间] ) 2> WinClose 作用:关闭指定窗口 语法:WinClose ( "窗口标题" [, "窗口文本"] ) 3>Send 59 作用:向激活窗口发送模拟键击操作 语法:Send ( "按键" [, 标志] ) 参数: 标志= 0 (默认),按键序列中含有的特殊字符比如+ 和! 将被视为SHIFT 和 ALT 键。 标志= 1,按键将按原样发送。 4>SendX 作用:向激活窗口发送中文字符 语法:SendX ( "字符",标志) 参数: 标志,必需,设置为0 或者非1 为剪切板模式,1 为发送ASC 模式 WinWaitActive 和Send 函数是我们的主角,WinWaitActive 用于等待某窗口的出现和激活,Send 用来发送一些键盘事件。有了能做这两件事都函数,我们就能做许多事情了。下面,我以暴风影音的自动安装为例写一个自动安装脚本。 首先,我们需要启动暴风影音的安装程序。将自动安装脚本与暴风影音安装包放置于同层目录下,使用如下代码调用暴风影音安装程序启动, Run(@ScriptDir & "\Storm.exe") 暴风影音启动后出现如下所示界面,

GPON开局及业务开通配置脚本

第一步:系统配置>>User // 输入用户名 >>User // 输入密码 >>MA5680T> // 进入普通模式 >>MA5680T // 进入超级模式 >>MA5680T(config) // 切换成本地语言 >>MA5680T(config)#displayboard0#switchlanguage- mode#configenablepassword:adminname:root// 查看所有单板,如果有“待确认”单板,请用下一命令 >>MA5680T(config) // 确认所有单板 >>MA5680T(config) // 设备命名 >>MA5680T(config)#terminal // 修改用户密码 #boardconfirm0#sysname*********************userpassword>>MA5680T(config) #terminal //创建新用户名/密码username>>(config)#autosaveintervalon〃打开自动保存 ------------------- 第二步:配置管理数据---------------------------- ---------------------------------------- >>MA5680T(config)#vlanxxstandard/创建管理VLAN

(一般选standard 类型) >>MA5680T(config)#portvlanxx0/190〃在上行口透传管理VLAN上行端口,5680T上行端口共4 个,分别为0/19 0,0/19 1,0/20 0,0/20 1) >>MA5680T(config)#vlanxx(xxtoxx)smart〃创建业务VLAN 一般选SMART类型) >>MA5680T(config)#portvlanxx(xxtoxx)0/190〃在上行口透传业务VLAN到上 行端口 >>MA5680T(config)# //创建VLAN三层虚接口 >>(config-if-vlanif40)#ipaddressxxx.xxx.xxx.xxxxxx.xxx.xxx.xx>配£置管理IP地址 >>(config-if-vlanif40)#description xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx对上层端口进行描述 >> // 退出接口,返回上层(config-if- vlanif40)#quitinterfacevlanifxx>>(config)#iproute-static0.0.0.00.0.0.0xxx.xxx.xxx.xxx// 配置缺省路由 ---------------------- 第三步:配置ONT --------------------------------------------- 步骤一:配置DBA模板(DBA就是动态分配带宽机制) >>(config)#dba-profileaddprofile-id18profile- name"100M"type2assure102400//1 :8 分光器流量模版 >>(config)#dba-profileaddprofile-id116profile- name"77M"type2assure67968//1 :16 分光器流量模版

链接脚本文件语法详解

我们对每个c或者汇编文件进行单独编译,但是不去连接,生成很多.o 的文件,这些.o文件首先是分散的,我们首先要考虑的如何组合起来;其次,这些.o文件存在相互调用的关系;再者,我们最后生成的bin文件是要在硬件中运行的,每一部分放在什么地址都要有仔细的说明。我觉得在写makefile的时候,最为重要的就是ld的理解,下面说说我的经验: 首先,要确定我们的程序用没有用到标准的c库,或者一些系统的库文件,这些一般是在操作系统之上开发要注意的问题,这里并不多说,熟悉在Linux编程的人,基本上都会用ld命令;这里,我们从头开始,直接进行汇编语言的连接。 我们写一个汇编程序,控制GPIO,从而控制外接的LED,代码如下; .text .global _start _start: LDR R0,=0x56000010 @GPBCON寄存器 MOV R1,# 0x00000400 str R1,[R0] LDR R0,=0x56000014 MOV R1,#0x00000000 STR R1,[R0] MAIN_LOOP: B MAIN_LOOP 代码很简单,就是一个对io口进行设置然后写数据。我们看它是如何编译的,注意我们这里使用的不是arm-linux-gcc而是arm-elf-gcc,二者之间没有什么比较大的区别,arm-linux-gcc 可能包含更多的库文件,在命令行的编译上面是没有区别。我们来看是如何编译的: arm-elf-gcc -g -c -o led_On.o led_On.s 首先纯编译不连接 arm-elf-ld -Ttext 0x00000000 -g led_On.o -o led_on_elf 用Ttext指明我们程序存储的地方,这里生成的是elf文件,还不是我们真正的bin,但是可以借助一些工具可以进行调试。然后: arm-elf-objcopy -O binary -S led_on_elf led_on.bin 生成bin文件。

c320配置脚本

con t add-rack rackno 1 racktype C320Rack add-shelf rackno 1 shelfno 1 shelftype C320_SHELF add-subcard rackno 1 shelfno 1 slotno 3 subcardno 1 UCDC/1 add-subcard rackno 1 shelfno 1 slotno 4 subcardno 1 UCDC/1 add-card rackno 1 shelfno 1 slotno 1 GTGH hostname HH-YY-EZha-OLT-1-MAN.C320 vlan database vlan 50 ex interface vlan 50 ip address 10.196.97.108 255.255.255.0 ! ip route 0.0.0.0 0.0.0.0 10.196.97.1 interface gei_1/3/1 hybrid-attribute fiber no negotiation auto speed 1000 duplex full flowcontrol disable port-protect disable uplink-isolate disable switchport mode hybrid switchport vlan 50 tag ! snmp-server community public view allview rw snmp-server host 10.196.15.35 trap version 2c public enable NOTIFICATIONS server-index 1 udp-port 162

SQL的主键和外键的作用

SQL的主键和外键的作用: 外键取值规则:空值或参照的主键值。 (1)插入非空值时,如果主键表中没有这个值,则不能插入。 (2)更新时,不能改为主键表中没有的值。 (3)删除主键表记录时,你可以在建外键时选定外键记录一起级联删除还是拒绝删除。 (4)更新主键记录时,同样有级联更新和拒绝执行的选择。 简而言之,SQL的主键和外键就是起约束作用。 关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识 一条记录,该属性组就可以成为一个主键。 比如: 学生表(学号,姓名,性别,班级) 其中每个学生的学号是唯一的,学号就是一个主键; 课程表(课程编号,课程名,学分) 其中课程编号是唯一的,课程编号就是一个主键; 成绩表(学号,课程号,成绩) 成绩表中单一一个属性无法唯一标识一条记录,学号和课程号的组合才可以唯一标识一条记录,所以,学号和课程号的属性组是一个主键。 成绩表中的学号不是成绩表的主键,但它和学生表中的学号相对应,并且学生表中的学号是学 生表的主键,则称成绩表中的学号是学生表的外键;同理,成绩表中的课程号是课程表的外键。 定义主键和外键主要是为了维护关系数据库的完整性,总结一下: 一、主键是能确定一条记录的唯一标识,比如,一条记录包括身份正号,姓名,年龄。身份证 号是唯一能确定你这个人的,其他都可能有重复,所以,身份证号是主键。 外键用于与另一张表的关联。是能确定另一张表记录的字段,用于保持数据的一致性。比如, A表中的一个字段,是B表的主键,那他就可以是A表的外键。 二、主键、外键和索引的区别 定义: 主键--唯一标识一条记录,不能有重复的,不允许为空 外键--表的外键是另一表的主键, 外键可以有重复的, 可以是空值 索引--该字段没有重复值,但可以有一个空值 作用:

终端配置脚本

A类ONT终端注册 1. 增加一个新的DBA模板 MA5680T(config)#dba-profile add profile-id 100 profile-name dongjin type2 assure 10240 /DBA模板ID号为100,模板名为dongjin,选择type2 保证带宽为10M。 DBA模板共分为5种类型:Type1、Type2、Type3、Type4、Type5 Type1:FIX固定带宽 Type2:assure 保证带宽 Type3:assure 保证带宽和max最大带宽 Type4:max最大带宽 Type5:FIX固定带宽、assure 保证带宽和max最大带宽 2. 增加一个新的线路模板 MA5680T(config)#ont-lineprofile epon profile-name dongjin profile-id 100 /线路模板类型为EPON,模板号为100,名称为dongjin/ MA5680T(config-epon-lineprofile-100)#llid dba-profile-id 100 /绑定DBA模板/ MA5680T(config-epon-lineprofile-100)#commit /提交确认/ MA5680T(config-epon-lineprofile-10)#quit

/离开/ MA5680T(config)#display ont-lineprofile epon profile-id 100 /查看线路模板ID为100/ 3.增加新的ONT业务模板 MA5680T(config)#ont-srvprofile epon profile-id 100 profile-name dongjin /创建业务模板名称为dongjin,ID号为100/ MA5680T(config-epon-srvprofile-100)#ont-port eth 4 pots 2 / ONT能力集设置,描述ONT有4个FE口,2个POTS口/ MA5680T(config-epon-lineprofile-100)#commit /注:所有参数设置,必须提交后才生效/ MA5680T(config-epon-lineprofile-100)#quit /离开/ 4.添加ONT (1)自动发现方式 MA5680T(config)#interface epon 0/1 MA5680T(config-if-epon-0/1)#port 0 ont-auto-find enable /使能EPON设备的0/1端口自动发现功能/ MA5680T(config)#display ont autofind all /查询已发现的ONT,注意此时ONT是发现的,EPON设备光纤已经到ONT上,还没有注册/

MDU配置举例脚本

说明:一个gemport匹配一个CVLAN,MDU的宽带CVLAN均是101-124,按端口分配;而且语音VLAN和网管VLAN均占用一个gemport,所以一台MDU需要在OLT上建立26个gemport,在同一个PON口下,gemport ID是唯一的。 GEMPORT从129开始计算,第一个给网管VLAN,第二个给语音VLAN,后24个给宽带VLAN,所以按不同MDU gemport计算可按公式,129+n*26+(0到25),n可以做为ONTID。 场景设置: MA5680T下带MA5620G,ONTID为0; 网管VLAN为100,语音VLAN为1000,宽带SVLAN为1421,CVLAN为101-124; MA5680T网管IP地址:192.168.1.1,MA5620G网管IP地址为192.168.1.2; MA5620G语音IP地址:192.168.2.3,PBX语音网关IP地址:192.168.2.1,SIP端口号均为5060; 网管gemport id=129,语音gemport id=130,宽带gemport id=131-154 宽带用户带宽为上行8M,下行16M; MA5680T: 建立ONT模板: MA5680T(config)#ont-profile add gpon profile-id 17 { |profile-name }: Command: ont-profile add profile-id 17 Press 'Q' or 'q' to quit input > Number of uplink PON ports<1-2> [1]:1 > IP config mode<0-Nonsupport, 1-Support, 2-DHCP only, 3-Static only> [1]:3 > The type of MAC bridge<1-Single,2-Multi> [1]:1 > Number of GEM ports<1-32> [32]: 32 > Is UNI configuration concerned<1-not concern, 2-concern> [1]:1 > Mapping mode<1-VLANID, 2-802_1pPRI, 3-VLANID_802_1pPRI, 9-IPTOS, 10-VLANID_IPTOS> [1]:1 > Number of T-CONTs<1-8> [1]:8 > The type of flow control<1-PQ, 2-GEMPORT-CAR, 3-FLOW-CAR> [1]:3 MA5680T(config)# ont resume resource resume//进行强制匹配 MA5680T(config)#interface gpon 0/1 MA5680T(config-if-gpon-0/1)#port { portid<0,3> }:0 { range|laser-switch|ont-password-renew|ont-auto-find|fec }:ont-a uto-find { switch }:enable Command: port 0 ont-auto-find enable //打开0/1/0 PON口端口自动发现功能 MA5680T(config-if-gpon-0/1)#

修改主键和外键

SQL中,一般要修改或者删除主键,只需要一个简单的命令即可:alter table 表名drop primary key. 下面我举例说明 先建一个表:table_project Create table table_project(‘id’ varchar(10),’name’ varchar(10),rmimary(‘name’)) Engine=myisam default charest=gb2312; 这时表已经建好,然后继续录入几个数据,等数据录入完成,此表格已经生成,如果这时你发现主键错了,想再改变主键就没那么简单了,因为你只是表格的结构错了,数据并没有错误,如果这时再删除表格重新建,无疑是在自寻苦恼。这时,其他只要两个命令就能完成。 1.先删除主键 Alter table table_project drop primary key 2.增加主键 Alter table table_project add primary key(id) 这就是如何不改变表内数据,修改主键的方法! 语法:alter table 表名 add constraint FK_ID foreign key(你的外键字段名) REFERENCES 外表表名(对应的表的主键字段名); 例: alter table tb_active add constraint FK_ID foreign key(user_id) REFERENCES tb_user(id) //FK_ID是外键的名称 /* CREATE TABLE `tb_active` ( `id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL, `content` text CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL, `user_id` int(11) NOT NULL, PRIMARY KEY (`id`), KEY `user_id` (`user_id`), KEY `user_id_2` (`user_id`), CONSTRAINT `FK_ID` FOREIGN KEY (`user_id`) REFERENCES `tb_user` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 */ 删除外键 语法: ALTER TABLE table-name DROP FOREIGN KEY key-id; 例: ALTER TABLE `tb_active` DROP FOREIGN KEY `FK_ID`

基于脚本的通用自动测试系统设计与实现

收稿日期:2017-02-11修回日期:2017-04-07 作者简介:朱望纯(1976-),男,湖南娄底人,硕士研究生,研究员,硕士生导师。研究方向:自动测试总线VXI 、PXI ,自动测 试系统及软件,虚拟仪器及可互换式虚拟仪器(IVI )。 摘要:针对自动测试系统(ATS )通用性差,架构设计不够开放、灵活,提出了一种基于测试脚本的通用自动测 试方法。分析了ATS 所共有的测试功能需求,构建较为完备的关键字驱动体系及其词法、语法结构规则;实现对关键字脚本词法、语法解析及脚本功能函数编写;通过搭建基于PCI 总线的通用ATS 平台,在测试系统硬件环境基本不变的情况下,依据不同测试需求编写相应的测试脚本来解析执行,有效完成了各种测试任务。实验表明设计的基于脚本的ATS 平台方案具有较好的通用性、灵活性和可行性。 关键词:自动测试系统,通用性,关键字脚本,PCI 总线 中图分类号:TP302文献标识码:A DOI :10.3969/j.issn.1002-0640.2018.02.035 基于脚本的通用自动测试系统设计与实现 朱望纯1,王丽1,张大伟2 (1.桂林电子科技大学电子工程与自动化学院,广西桂林541004;2.解放军91872部队,北京100000) Design and Realization of General Automatic Test System Based on Scrip ZHU Wang-chun 1,WANG Li 1,ZHANG Da-wei 2 (1.School of Electronic Engineering and Automation ,Guilin University of Electronic Technology ,Guilin 541004,China; 2.Unit 91872of PLA ,Beijing 100000,China ) Abstract :This paper proposes a general automatic test method based on test script aiming at the problems such as poor versatility ,inflexible architecture design.Firstly ,it analyzes the test requirements common to ATS and constructes a more complete keywords-driven system and its lexical and syntax structure ,and then achieves the keywords-script lexical ,syntax parsing and script function writing.In the end ,the general ATS platform based on PCI bus is built to complete various test tasks according to parsing and executing different test scripts under the basically unchanged hardware environment.Experiments show that the design of the script-based ATS platform has good versatility ,flexibility and feasibility.Key words : ATS ,versatility ,keywords script ,PCI Bus 0引言随着测试技术不断发展和对测试要求的不断提高,自动测试系统(Automatic Test System ,ATS )组建难度不断增加,尤其在测试任务改变和测试平台换代更新的情况下,经常需要重新构建新的测试系 统来满足测试需求,造成资源和资金的浪费[1]。因 此,构建一个架构开发灵活,软硬件通用,可扩展、 易升级的通用ATS 平台成为国内外ATS 研究的趋 势[2]。脚本语言作为一种可在测试平台上直接运行的可执行语言,具有可灵活编程、可复用、易维护的 特点,关键字驱动的测试脚本将常用的ATS 测试方 法包装为关键字,提高测试脚本的复用性[3],为实 现在ATS 硬件环境基本不变,依据不同测试需求编 写相应测试脚本完成测试任务,提供了一个良好的 解决方案。1通用测试平台总体结构通用ATS 集成了测试信号与测试仪器,由软件平台控制完成各种状态、性能测试。系统构建基于文章编号:1002-0640(2018)02-0168-04Vol.43,No.2 Feb ,2018 火力与指挥控制Fire Control &Command Control 第43卷第2期2018年2月 168·· 万方数据