Linux上的软件串口环回(Software serial port loopback on linux)
目前,我需要开发一些程序,通过串行线路与cisco设备进行通信。 我想在我的开发linux机器上构建测试环境。 所以,我找到了dynamips cisco模拟器。 该仿真器可以通过串行线提供“-U / dev / ttyS0”选项。 好吧,这会导致dynamips打开硬件串口并通过它进行通信。 我能够通过串口客户端(如minicom)从另一台Linux机器连接到这个硬件串口。
但是,由于我在两台linux机器上都使用了virtualbox,我通过virtualbox将串口转发到命名管道。 这个计划似乎有效,但非常冗长。 我正在寻找一种在单个linux机器上运行dynamips和minicom的方法。
我发现伪终端在我的情况下可能很有用。 但是我试图用'-U / dev / ptmx'运行dynamips,然后用minicom连接创建/ dev / pts / ...端口,反之亦然。 在这两种情况下,我都有输入/输出错误。
Currently I need to develop some program that will communicate with cisco devices over serial line. I want to build testing environment on my development linux machine. So, I found dynamips cisco emulator. This emulator can provide interface via serial line with '-U /dev/ttyS0' option. Well, this causes dynamips to open hardware serial port and communicate via it. I'm able to connect to this hardware serial port from another linux machine with serial client like minicom.
However, since i'm using virtualbox for both linux machines, I link serial ports via virtualbox ability to forward serial port to named pipe. This scheme seems to be working, but very redunant. I'm looking for a method to run dynamips and minicom on a single linux machine.
I found that pseudo-terminals could be useful in my case. But I've tried to run dynamips with '-U /dev/ptmx' and then connect with minicom to created /dev/pts/... port and vice versa. In both cases I've got input/output error on both sides.
原文:https://stackoverflow.com/questions/2192939
最满意答案
尝试这个:
UPDATE table2 SET table2.PageID = (SELECT t1.PageID FROM table1 t1 WHERE t1.id = table2.SCRID) WHERE EXISTS( SELECT 'TABLE1PAGE' FROM table1 t1 WHERE t1.id = table2.SCRID)
我添加了EXISTS子句以防止对table2的PageID进行NULL赋值
Try this:
UPDATE table2 SET table2.PageID = (SELECT t1.PageID FROM table1 t1 WHERE t1.id = table2.SCRID) WHERE EXISTS( SELECT 'TABLE1PAGE' FROM table1 t1 WHERE t1.id = table2.SCRID)
I've added EXISTS clause to prevent NULL assignment to PageID of table2
相关问答
更多-
DB2从2个库中加入文件(DB2 join files from 2 libraries)[2022-06-29]
用于DB2的System i Access ODBC驱动程序使用“。” LIBRARY.FILE的语法,所以只要改变你对DATALIB.FGDETL的引用,那应该可以工作。 The System i Access ODBC Driver for DB2 uses a "." syntax of LIBRARY.FILE so just change your references to DATALIB.FGDETL and that should work. -
DB2 MERGE语句错误(DB2 MERGE statement error)[2022-06-20]
不幸的是(我从来不明白为什么),在DB2 for z / OS中,您不能使用表作为MERGE的源,您只能使用VALUES子句。 此外,如果要合并多行,则必须使用主机变量数组 ,并指定数组中的值数。 MERGE INTO TRGT t USING (VALUES (:param1, :param2) FOR :paramNumRows) s ON (t.ACCTID=s.ACCTID) WHEN MATCHED THEN UPDATE SET MyFlag = 'Y' Unfortunat ... -
以下是使用具有聚合函数的CASE的查询版本: select id, date, max(case when errid = 1402 then ErrDesc else '' end) Err1402, max(case when errid = 1409 then ErrDesc else '' end) Err1409, max(case when errid = 1411 then ErrDesc else '' end) Err1411 from yourtable group by ...
-
在db2中导出ixf(Export ixf in db2)[2022-07-26]
正如已经指出的那样,您不能像通过JDBC试图做的那样直接从普通SQL中运行Db2命令(例如导入,导出,加载等)。 相反,如果您的Db2服务器运行在Linux / Unix / Windows上,则可以使用存储过程,或者(对于任何Db2服务器操作系统),可以使用命令行。 但是,对Db2-LUW使用存储过程SYSPROC.ADMIN_CMD时,存储过程参数中的所有文件名都是相对于Db2服务器 (而不是远程jdbc客户机(如果正在远程运行))。 这意味着在通过存储过程成功导出后,如果您确实需要导出的IXF文件在工 ... -
您正在寻找MERGE声明: merge into ORDER_ATTRIBUTE ot using (select ORDER_ID, CREATED_BY_NAME from ORDER_APPROVALS where PROCESS_DT is null) oa on (ot.ORDER_ID = oa.ORDER_ID) when matched and ot.ATTRIBUTE_ID = 123 ...
-
您可以使用LOCATE() : AND LOCATE(UPPER(bla), UPPER(SUT.NAME)) > 0 另一个问题是我认为你声明的VARCHAR变量的长度。 你试过这个有用吗?: BEGIN ATOMIC DECLARE bla CHAR(5); DECLARE search VARCHAR(100); set bla = '%SUP%'; SELECT EQ.EXECUTEDQUESTIONNAIREID,EQ.EXECUTEDQUESTIONNAIRESTATUSID,EQ.CRE ...
-
从db2获取Resultset(Get Resultset from db2)[2022-05-06]
当对象不存在时抛出SQLSTATE 42704。 FROM子句引用表名,而不是DB。 表名可能是合格的或不合格的; 从技术上讲,限定表名称可以包含远程数据库名称。 你说这个有效: SELECT * FROM SYSCAT.COLUMNS WHERE TABSCHEMA= 'GGA' AND TABNAME= 'VIRTUALMACHINE' fetch first 10 rows only 请注意,正在查询SYSCAT模式中的COLUMNS表。 所以以下应该有效: select * from GGA ... -
DB2的UPDATE JOIN语句(UPDATE JOIN statement for DB2)[2024-04-01]
尝试这个: UPDATE table2 SET table2.PageID = (SELECT t1.PageID FROM table1 t1 WHERE t1.id = table2.SCRID) WHERE EXISTS( SELECT 'TABLE1PAGE' FROM table1 t1 WHERE t1.id = table2.SCRID) 我添加了EXISTS子句以防止对table2的PageID进行NULL赋值 Try this: UPDAT ... -
如何使用join在db2中更新(How to update in db2 with join)[2023-10-02]
只有一个简单的语法错误。 在where exists子句之前有一个多余的半冒号: update semester_workload tA set tA.account = (SELECT DISTINCT (t2.WORKING - t2.WORKLOAD) FROM SEMESTER_WORKLOAD t1 join SEMESTER_WORKLOAD t2 on t1.ID_LECTURER = t2.ID_LECTURER WHERE t2.ACADEMIC_SEMES ... -
Select TOP子句在DB2上无效。 Intead使用 SELECT * FROM myTable ORDER BY id FETCH FIRST 10 ROWS ONLY The clause Select TOP is not valid on DB2. Intead use SELECT * FROM myTable ORDER BY id FETCH FIRST 10 ROWS ONLY