recordtype(magnet) { include "dbCommon.dbd" field(VAL,DBF_STRING) { prompt("Value") special(SPC_DBADDR) interest(1) size(16) } field(IDX,DBF_LONG) { prompt("MySQL Index") } field(MAG,DBF_STRING) { prompt("Magnet Name") promptgroup(GUI_DISPLAY) interest(1) size(16) } field(CSET,DBF_FLOAT) { prompt("CSET Value") asl(ASL0) pp(TRUE) } field(DAC,DBF_FLOAT) { prompt("DAC Value") asl(ASL0) pp(TRUE) } field(CMON,DBF_FLOAT) { prompt("CMON Value") asl(ASL0) pp(TRUE) } field(VMON,DBF_FLOAT) { prompt("VMON Value") asl(ASL0) pp(TRUE) } field(MGST,DBF_USHORT) { prompt("Status") asl(ASL0) pp(TRUE) } field(TMS,DBF_STRING) { prompt("MySQL Time Stamp") promptgroup(GUI_DISPLAY) interest(1) size(20) } field(INP,DBF_INLINK) { prompt("Input Specification") promptgroup(GUI_INPUTS) special(SPC_NOMOD) interest(1) } field(PREC,DBF_SHORT) { prompt("Display Precision") promptgroup(GUI_DISPLAY) interest(1) } }
record(magnet,"$(name):$(port):$(table):$(mg)") { field(DESC, "MySQL select") field(SCAN,"1 second") field(DTYP,"MySql") field(INP,"@$(port) $(table) $(mg) * $(addr)") }
SQL ドライバ初期化の際に、指定したユーザのパスワードを入れられるようにした。
... dbLoadDatabase("dbd/example.dbd") example_registerRecordDeviceDriver(pdbbase) #sqlDriverInit("hostname", "username", "password","table-name", auto-connect) sqlDriverInit("bcce0", "nakayosi", "password","EP1", 0) dbLoadRecords("db/testMag.db","name=nakapc2,port=bcce0,addr=1,table=MAG_CONTROL,mg=v01") dbLoadRecords("db/testMag.db","name=nakapc2,port=bcce0,addr=2,table=MAG_CONTROL,mg=h02") dbLoadRecords("db/testMag.db","name=nakapc2,port=bcce0,addr=3,table=MAG_CONTROL,mg=v03") ... dbLoadRecords("db/testMag.db","name=nakapc2,port=bcce0,addr=73,table=MAG_CONTROL,mg=q72") dbLoadRecords("db/testMag.db","name=nakapc2,port=bcce0,addr=74,table=MAG_CONTROL,mg=q73") dbLoadRecords("db/testMag.db","name=nakapc2,port=bcce0,addr=75,table=MAG_CONTROL,mg=v39") iocInit()