如果在您的应用程序中遇到上传文件失败的情况,为确保问题得到妥善解决,您应仔细检查以下几个关键配置项,以确保文件上传服务的正常运行:1.检查appsettings.json中的OSSProvider文件存储服务节点配置在您的应用程序配置文件appsettings.json中,通常会有一个专门针对外部文件存储服务(如对象存储服务,简称OSS)的配置节点OSSProvider。确保这一部分配置信息的准确性至关重要,因为它直接影响到应用程序与文件存储服务之间的通信和交互。具体检查要点如下:服务提供商信息:确认是否指定了正确的服务提供商(如阿里云OSS、腾讯云COS、AWSS3等),以及是否使用了正确的访问密钥(AccessKeyID和SecretAccessKey)进行身份验证。Bucket配置:确保指定的存储桶(Bucket)名称准确无误,且该存储桶处于激活状态。同时,检查区域(Region)设置是否与实际使用的存储桶所在区域一致。端点(Endpoint):核实端点URL是否正确指向服务提供商提供的文件存储服务接口。其他高级设置:如安全策略(如是否启用SSL/TLS加密)、上传策略(如分块大小、并发上传数量等)和缓存设置等,确保它们符合预期且与文件存储服务的要求相匹配。如果启用了在线文件存储服务,任何一处配置错误都可能导致上传失败。若遇到问题,建议查阅相关服务商的官方文档或技术支持文章以获取详细指导。参考链接如下:http://lic.ymes.cn/Home/Article?articleId=2762003717786992640如果不需要在线文件存储服务,可以将OSSProvider的Provider设置成None,或者接删除OSSProvider配置节点。2.检查站点根目录下wwwroot文件夹的权限Windows系统对于部署在Windows系统上且使用IIS作为Web服务器的应用程序,确保wwwroot文件夹拥有正确的权限设置是防止上传失败的重要步骤。根据部署环境的不同,采取相应的权限调整策略:内网部署:在相对封闭的内网环境中,为了简化权限管理,您可以考虑直接赋予everyone用户组对wwwroot文件夹的完全控制权限(读取、写入、执行)。这样做虽然方便,但可能带来一定的安全风险,仅适用于严格受控且对安全性要求较低的内部网络环境。对外服务:对于面向互联网公开提供服务的站点,建议遵循更严格的权限控制原则,仅赋予必要的账户或组以适当的读写权限。通常情况下,涉及的账户包括:IIS应用程序池账号:确保当前应用程序池使用的标识(默认为ApplicationPoolIdentity或自定义账户)对wwwroot文件夹拥有读写权限。可以通过IIS管理器或命令行工具(如icacls)来调整权限设置。特殊系统账户:如IUSR(匿名Internet用户)和IIS_IUSRS(IIS应用程序池标识用户组)。这些账户或用户组代表了IIS进程访问本地文件系统的身份。确保它们至少拥有对wwwroot文件夹及其子目录的读写权限。可通过文件夹属性的安全选项卡或命令行工具进行设置。Linux系统检查wwwroot文件夹的权限通常涉及以下几个步骤:1.打开终端使用快捷键(如Ctrl+Alt+T)或通过桌面菜单启动终端应用程序。2.导航至wwwroot文件夹所在目录使用cd命令切换到包含wwwroot文件夹的目录。例如,如果wwwroot位于/var/www/html下,执行:cd /var/www/html3.使用ls命令查看文件权限执行ls-ldwwwroot命令来查看wwwroot文件夹本身的权限。其中:-l选项以长列表格式显示文件和目录信息,包括权限、所有者、组、大小、修改日期等。-d选项指定只显示wwwroot文件夹本身的属性,而不是其内部的内容。命令示例:ls -ld wwwroot输出类似如下:drwxrwxr-x 3 www-data www-data 4096 Mar 15 12:34 wwwroot4.解析权限信息从上述输出中,重点关注权限字段(第一列),它由十位字符组成,分为四组:第一位表示文件类型(d表示目录)。后九位每三位一组,分别代表所有者(User)、组(Group)和其他用户(Other)的权限。每组内的三个字符分别对应读(r)、写(w)和执行(x)权限:r表示可读,用户可以查看文件内容(目录则可以列出其内容)。w表示可写,用户可以修改文件内容(目录则可以添加、删除或重命名其内部文件)。x表示可执行,用户可以执行文件(目录则可以进入该目录)。5.验证权限是否符合预期根据您的应用需求和服务器安全策略,确认wwwroot文件夹的权限是否合理。常见的权限设置如:所有者(通常是Web服务器的运行用户,如www-data或apache)应具有读、写和执行权限。组(与所有者相同或特定的Web服务组)通常也需具备读、写权限,执行权限视情况而定。其他用户(非所有者和组成员)通常只需具有读权限,以保护文件免受未经授权的修改。有时为了安全起见,甚至可能只给予执行权限(目录可进入),而不允许读取文件内容。如果发现权限不符合预期,可以使用chmod命令进行调整。例如,将wwwroot设置为所有者和组可读写执行,其他用户仅可读:sudo chmod 775 wwwroot其中,数字模式775分别对应所有者(7,即rwx)、组(7,即rwx)和其他用户(5,即rx)的权限。总结来说,要检查Linux系统下wwwroot文件夹的权限,只需在终端中使用ls-ld命令查看其权限信息,然后根据实际情况判断和调整权限设置。总之,在排查文件上传失败问题时,务必细致检查appsettings.json中的文件存储服务配置以及wwwroot文件夹的权限设置。正确配置这些参数有助于确保应用程序与文件存储服务之间通信顺畅,以及Web服务器能够顺利处理上传请求。如有必要,参照相关服务商文档或咨询技术支持以获取进一步帮助。
系统的硬件性能对于后续产品体验和功能完整有着重大的影响,因此您可以借助本工具大致判断服务器的性能,综合评估服务器是否能开启后续的功能。下载测试工具您可以从版本管理页面右侧边栏下载性能测试工具。或者点击下载工具。开始测试将本工具解压缩到系统运行的硬盘分区下,双击打开,工具会自动读取服务器的基础信息,点击开始测试运行。建议在系统空载时进行测试,您可以多次运行测试,看看系统平均性能和最低性能。性能评估服务器应当达到下述标准方能基本保证系统稳定运行。数据越大性能越好。最小值推荐值CPU单核612CPU多核2050内存读712内存写712磁盘小文件读10001500磁盘小文件写10003000磁盘中文件读10005000磁盘中文件写10003000磁盘大文件读5004000磁盘大文件写5001500低于最小值可能严重影响后续系统使用体验,并可能导致无法预测的崩溃问题。CPU性能决定了服务器单位时间的计算能力,过低的CPU性能可能导致后续计算性能不足。内存的性能决定了服务器同时可运行的程序多少,内存过小或者性能低下会导致系统频繁加载数据,引起性能明显下降。磁盘性能会直接影响读写速度,您可以分别测试服务器系统盘性能、用于存储MES系统数据库磁盘性能和用于存储MES系统附件磁盘性能。如果磁盘读写缓慢会严重影响系统运行速度,建议更换高性能磁盘。
MariaDB的所有下载都位于官方MariaDB基金会网站的下载部分。单击所需版本的链接,并显示多个操作系统,体系结构和安装文件类型的下载列表。在LINUX/UNIX上安装如果你熟悉Linux/Unix系统,只需下载源码来构建你的安装。我们推荐的安装方式是使用分发包。MariaDB提供用于以下Linux/Unix发行版的软件包-RedHat/CentOS/FedoraDebian/Ubuntu以下发行版在其存储库中包含MariaDB软件包-openSUSEArchLinuxMageiaMintSlackware按照以下步骤在Ubuntu环境中安装-步骤1-以root用户身份登录。步骤2-导航到包含MariaDB包的目录。步骤3-使用以下代码导入GnuPG签名密钥-sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943Db步骤4-将MariaDB添加到sources.list文件。打开文件,并添加以下代码-sudo add-apt-repository 'deb Http://ftp.osuosl.org/pub/mariadb/repo/5.5/ubuntuprecise main'步骤5-刷新系统以下-sudo apt-get update步骤6-安装MariaDB与以下-sudo apt-get install mariadb-server在Windows上安装找到并下载自动安装文件(MSI)后,只需双击该文件即可开始安装。安装向导将指导您完成每个安装步骤和任何必要的设置。通过从命令提示符启动来测试安装。导航到安装的位置(通常位于目录中),然后在提示符下键入以下内容:mysqld.exe --console如果安装成功,您将看到与启动相关的消息。如果这没有出现,您可能有权限问题。确保您的用户帐户可以访问应用程序。图形客户端可用于在Windows环境中的MariaDB管理。如果你发现命令行不舒服或麻烦,一定要试试他们。测试安装执行几个简单的任务,以确认MariaDB的功能和安装。使用管理实用程序获取服务器状态使用mysqladmin二进制查看服务器版本。[root@host]# mysqladmin --version它应显示版本,分发,操作系统和体系结构。如果您看不到该类型的输出,请检查您的安装是否存在问题。使用客户端执行简单命令打开MariaDB的命令提示符。这应该连接到MariaDB并允许执行命令。输入一个简单的命令如下-mysql SHOW DATABASES;安装后成功安装MariaDB后,设置root密码。全新安装将具有空白密码。输入以下内容设置新密码-mysqladmin -u root password "[enter your password here]";输入以下内容以使用新凭据连接到服务器-mysql -u root -p
Enter password:*******在Windows上升级如果您已经在您的Windows系统上安装了MySQL,并且想要升级到MariaDB;不卸载MySQL并安装MariaDB。这将导致与现有数据库的冲突。您必须改为安装MariaDB,然后在Windows安装文件中使用升级向导。MySQLmy.cnf文件的选项应该与MariaDB配合使用。但是,MariaDB有许多功能,这在MySQL中找不到。请考虑您的my.cnf文件中的以下冲突-MariaDB默认为临时文件使用Aria存储引擎。如果您有很多临时文件,如果不使用myisam表,请修改键缓冲区大小。如果应用程序频繁连接/断开连接,请更改线程高速缓存大小。如果使用超过100个连接,请使用线程池。兼容性MySQL和MariaDB本质上是相同的。但是,有足够的差异来创建升级问题。查看MariaDB知识库中的更多关键差异。
系统可以批量上传物料文件,但需要您有服务器的管理权限。整理文件按照文件分类进行整理,例如产品图纸和操作手册进行归类。操作手册文件夹下直接是文件,不能再建子文件夹。打开服务器,将文件复制到系统文件夹wwwroot\content\Upload\Material中导入系统打开物料管理页面,点击文件,下载模板编辑模板,将文件名与物料编码对应关系整理清楚。将文件上传到系统中,完成导入。
系统运行过程中一些特殊逻辑或者需要外部系统提供数据支持的时候,程序会在相应代码中调用一些固定的存储过程以实现相关逻辑控制。在SQLServer中这些存储过程可以有,也可以没有,没有的情况下不会影响系统原有逻辑。但在MySQL或者MariaDB中,这些存储过程是必须要有的,内容可以为空,不做任何操作,如果没有这些存储过程则系统会报错。举个例子,在前台页面做条码报工的时候,系统会去调用[p_CheckSNBarcodeCanReport]存储过程,此时如果数据库中存在此存储过程,则您可以在此存储过程中做一些其他额外的校验逻辑,以实现特殊管控。例如:此条码未在ERP数据库中完成注册则不允许报工等控制。CREATE PROCEDURE [dbo].[p_CheckSNBarcodeCanReport]
@barcode nvarchar(200)
AS
BEGIN
SET NOCOUNT ON;
declare @count int
select @count = count(1) from ERP..BarcodeRecord where Barcode=@barcode
if @count0 begin
RAISERROR ('此条码未注册',16,1)
end
END如果数据库抛出了异常则程序会终止接下去的操作,例如上述存储过程如果抛出异常,则该条码不能继续报工,且页面会显示异常信息:“条码未注册”。类似的功能节点还有如下几个:存储过程参数说明p_CheckSNBarcodeCanReport@barcodenvarchar(200)通过存储过程判断条码能否报工p_CheckSNBarcodeCanOnline@barcodeIdbigint,@dispatchIdbigint通过存储过程判断条码能否上线p_CheckDispatchCanStart@dispatchIdbigint通过存储过程判断派工单能否开工p_CheckReportCanConfirmQty@reportIdbigint,@qtydecimal(18,6)用数据库检查报工单是否可以确认p_CheckReportCanDelete@reportIdbigint用数据库检查报工单是否可以删除p_CheckDispatchCanDelete@dispatchIdbigint用数据库检查派工单是否可以删除p_CheckDispatchCanReport@dispatchIdbigint检查派工单能否报工p_CheckEmployeeCanReport@dispatchIdbigint,@employeeIdbigint检查人员能否报工p_CheckSNBarcodeCanGenerate@barcodenvarchar(200),@dispatchIdbigint用存储过程判定SN码是否可以生成p_CheckBarcodeCanReportIn@barcodeIdbigint用存储过程判断条码是否能生产入库p_CheckBarcodeCanScanBill@barcodeIdbigint,@warehouseIdbigint,@wareareaIdbigint,@billtypenvarchar(200)用存储过程判断条码是否能在单据扫描p_AddDispatchMaterial@dispatchIdbigint生成补料单
在APP的ESOP查询页面可以扩展显示信息。如下:一、数据库视图构建,要求需在数据库中新建标准视图v_ESOPExtInfo,该视图必须包含MaterialCode核心字段:CREATE VIEW [dbo].[v_ESOPExtInfo]
AS
SELECT
Code AS MaterialCode, -- 必须字段:物料编码(唯一标识)
Name AS 物料名称, -- 物料名称(可选扩展字段)
Spec AS 规格参数, -- 规格参数(可选扩展字段)
StorageLocation AS 存储位置, -- 存储位置(可选扩展字段)
LastUpdateDate AS 更新时间 -- 最后更新时间(可选扩展字段)
FROM ERP..WareInfo
WHERE Status = 'Active' -- 添加数据过滤条件
GO二、数据对接字段映射规则:MaterialCode(必填):与APP端ESOP主表MaterialCode字段关联其他扩展字段:将按字段名称自动映射到前端展示组件按上述视图举例则会在页面的其他信息中展示物料名称、规格参数、存储位置、最后更新时间信息。
整理图片,请尽量使用png格式打开服务器,将缩略图片复制到系统文件夹wwwroot\content\Upload\Material\thumb下,可以在此使用文件夹分类,但在导入excel文件时,在文件名称前加上文件路径,用‘/’分隔,例如:拉链类/黑色拉链.png导入系统打开物料管理页面,点击【缩略图】,下载模板编辑模板,将文件名与物料编码对应关系整理清楚。将Excel文件保存后上传到系统中,完成导入。
既然sqlserver内存有那么多种,每种都可能有各自上限值,DBA也必须能够看到sqlserver每种内存到底使用了多少,究竟是哪一种接近了上限、是哪部分内存不足,才能更好地解决问题。通常可以用两种方法看到各部分内存用量——内存相关计数器和DMV视图一、内存相关计数器与sqlserver相关的计数器通常以SQLServer:或MSSQLInstanceName开头,与内存相关的主要如下:1.SQLServer:MemoryManager总体内存使用情况TotalServerMemory(KB):sqlserverbufferpool当前大小TargetServerMemory(KB):SqlServer理论上能使用的最大内存数,min(AWE,"MaxServerMemory",当前服务器可用内存数)下面是sqlserver各部分内存使用情况:OptimizerMemory(KB):正在用于查询优化的状态内存数SQLCacheMemory(KB):正在用于动态sqlserver高速缓存的内存数LockMemory(KB):用于锁的内存总量ConnectionMemory(KB):正在用于维护连接的内存数GrantedWorkspaceMemory(KB):正在用于哈希、排序、索引创建等操作的内存数MemoryGrantsPending:等待工作空间内存授权的进程总数,大于0说明用户内存由于内存压力而被延迟。一般来说,意味着有较严重的内存瓶颈2.SQLServer:BufferManager数据页读写情况bufferpool是sqlserver内存使用最多也最容易出现瓶颈的部分,因此这部分计数器非常重要。BufferCacheHitRatio:缓存命中率,对于OLTP,如果低于95%,可能内存不足Databasepages:缓冲池中数据库页数,即databasecache的大小Freepages:总空闲页数,正常应该在降低到一定程度后维持稳定。如果这个值过低或反复降低,可能内存不足Lazywrites/sec:Lazywriter每秒写出的缓冲区数,当sqlserver感觉到内存压力时,Lazywriter会将最久未用到的内存刷到磁盘以清理内存。如果这个值很大,或者Lazywriter经常被调用,可能内存不足PageLifeExpectancy:页若不被引用,将在缓冲池停留的秒数。当sqlserver感觉到内存压力,Lazywriter被触发,PLE的值也会突然下降。如果PLE的值很小或者总是高高低低,不能维持在稳定水平,可能内存不足Pagereads/sec:每秒发出的物理数据库页读取数Stolenpages:用于非databasepages(包括执行计划缓存)的页数,这就是stolenmemory在bufferpool中的大小Targetpages:缓存池目标页数,乘以8KB就是TargetServerMemory的值Totalpages:缓存池当前页数,乘以8KB就是TotalServerMemory的值二、动态性能视图DMVsqlserver使用MemoryClerk方式统一管理内存分配和回收,而跟踪内存使用最常用的视图也就叫做。1.sqlserver各部分内存使用情况——sys.dm_os_memory_clerksselect type
, sum(virtual_memory_reserved_kb) VM_Reserved
, sum(virtual_memory_committed_kb) VM_Commited
, sum(awe_allocated_kb) AWE_Allocated
, sum(shared_memory_reserved_kb) Shared_Reserved
, sum(shared_memory_committed_kb) Shared_Commited
--, sum(single_pages_kb) --SQL2005、2008
--, sum(multi_pages_kb) --SQL2005、2008
from sys.dm_os_memory_clerks
group by type
order by type;字段含义如下:type:MemoryClerk名称,根据名称可以大概知道用途virtual_memory_reserved_kb:该Clerkreserve的虚拟内存量virtual_memory_committed_kb:该Clerkcommit的虚拟内存量,提交的内存应始终小于保留的内存awe_allocated_kb:该Clerk使用AWE分配的内存量,主要用于2005、2008版本shared_memory_reserved_kb:该Clerkreserve以供共享内存及文件映射使用的内存量shared_memory_committed_kb:该Clerkcommit以供共享内存及文件映射使用的内存量,这两个字段可以追踪sharedmemory的大小single_pages_kb:通过stolen分配的单页内存量,主要用于2005、2008版本multi_pages_kb:分配的多页内存量,主要用于2005、2008版本主要type如下:数据页面缓存其他对象缓存信息缓存其他sqlserver功能组件(consumer)2.sqlserver缓存了哪些对象——sys.dm_os_buffer_descriptorsBufferPool的内存主要是由那个数据库占了SELECT count(*)*8 as cached_pages_kb,CASE database_id
WHEN 32767 THEN 'ResourceDb'
ELSE db_name(database_id)
END AS Database_name
FROM sys.dm_os_buffer_descriptors
GROUP BY db_name(database_id) ,database_id
ORDER BY cached_pages_kb DESC;当前数据库的哪个表或者索引占用Pool缓冲空间最多SELECT count(*)*8 AS
cached_pages_kb,obj.name ,obj.index_id,b.type_desc,b.name
FROM sys.dm_os_buffer_descriptors AS bd
INNER JOIN
(
SELECT object_name(object_id) AS name, index_id ,allocation_unit_id,object_id
FROM sys.allocation_units AS au
INNER JOIN sys.partitions AS p
ON au.container_id = p.hobt_id
AND (au.type = 1 OR au.type = 3)
UNION ALL
SELECT object_name(object_id) AS name, index_id, allocation_unit_id,object_id
FROM sys.allocation_units AS au
INNER JOIN sys.partitions AS p
ON au.container_id = p.partition_id
AND au.type = 2
) AS obj
ON bd.allocation_unit_id = obj.allocation_unit_id
LEFT JOIN sys.indexes b on b.object_id = obj.object_id AND b.index_id = obj.index_id
WHERE database_id = db_id()
GROUP BY obj.name, obj.index_id ,b.name,b.type_desc
ORDER BY cached_pages_kb DESC;BufferPool里面修改过的页总数大小SELECT count(*)*8 as cached_pages_kb, convert(varchar(5),convert(decimal(5,2),(100-1.0*(select count(*)
from sys.dm_os_buffer_descriptors b where b.database_id=a.database_id
andis_modified=0)/count(*)*100.0)))+'%' modified_percentage
,CASE database_id
WHEN 32767 THEN 'ResourceDb'
ELSE db_name(database_id)
END AS Database_name
FROM sys.dm_os_buffer_descriptors a
GROUP BY db_name(database_id) ,database_id
ORDER BY cached_pages_kb DESC;3.执行计划都缓存了什么——sys.dm_exec_cached_plans查询执行计划中各种对象各占多少内存-- 查询缓存的各类执行计划,及分别占了多少内存
-- 可以对比动态查询与参数化SQL(预定义语句)的缓存量
select cacheobjtype
, objtype
, sum(cast(size_in_bytes as
bigint))/1024 as size_in_kb
, count(bucketid) as cache_count
from sys.dm_exec_cached_plans
group by cacheobjtype, objtype
order by cacheobjtype, objtype查具体存储了哪些sql查询结果会很大,注意将结果集输出到表或文件中,直接输出到DB服务器的SMSS可能导致资源争用-- 查询缓存中具体的执行计划,及对应的SQL
-- 将此结果按照数据表或SQL进行统计,可以作为基线,调整索引时考虑
SELECT usecounts ,
refcounts ,
size_in_bytes ,
cacheobjtype ,
objtype ,
TEXT
FROM sys.dm_exec_cached_plans cp
CROSS APPLY
sys.dm_exec_sql_text(plan_handle)
ORDER BY objtype DESC ;
1.下载iso镜像文件从官网下载镜像文件:https://www.centos.org/download/需要选择7以上版本。2.准备安装将镜像文件通过UltraISO写入U盘。将电脑设置成从U盘启动。3.开始安装开机进入U盘启动页面等待安装进入安装页面后选择中文,点击继续点击“安装位置”,进去后再点击“完成”。点击软件选择点击开始安装设置root密码,并且创建一个管理员账户等待安装,安装成功后点击"重启"。接受许可协议并设置网络登录账户完成安装
本应用程序配置是使用一个或多个配置提供程序执行的。配置提供程序使用各种配置源从键值对读取配置数据:设置文件,例如appsettings.json环境变量,例如在Docker运行环境下使用环境变量控制配置参数本应用程序中系统运行参数设置如下:{
"Logging": {
"LogLevel": {
"Default": "Warning" //日志等级
}
},
"AllowedHosts": "*",
"ConnectionStrings": {
"WfDBContext": "Data Source=.;Initial Catalog=MES;User=sa;Password=123456;MultipleActiveResultSets=true" //数据库连接字符串
},
"LoggingDB": {
"LogDbType": "SQLite", //日志服务数据库类型:MongoDB/SQLite/Inner Inner模式直接写入业务数据库无需配置下方连接参数
"ConnectionString": "Data Source=myDatabase.db", //"mongodb://localhost:27017",
"DatabaseName": "LogStore",
"LogLevel": "Debug" //日志等级:All/Debug/Info/Warn/Error
},
"AppSetting": {
"IdWorker": 1,
"SSOPassport": "http://localhost:52789",
"RoutePre": "",
"Version": "1.0", //如果为demo,则屏蔽Post请求
"DbType": "SqlServer", //数据库类型:SqlServer/MySql
"AppKey": "BaseSys",
"CacheType": "Redis", //缓存类型:Redis/Inner Inner模式下无法与其他站点集成
"RedisConn": "localhost", //Redis连接字符串
"RedisDb": "0", //Redis数据库索引
"MailSMTP": "smtp.163.com", //邮箱SMTP服务器地址
"MailPort": 465, //邮箱SMTP端口
"MailSSL": true, //是否启用SSL
"MailUserName": "MES智能制造", //发件人名称
"MailAddress": "d****@163.com", //发件地址
"MailPassword": "Q********Q" //邮箱密码
},
"OSSProvider": [
{
"Provider": "Aliyun", //枚举值支持:Minio/Aliyun/QCloud/Qiniu/HuaweiCloud
"Endpoint": "oss-cn-shanghai.aliyuncs.com", //腾讯云中表示AppId,注意:主账号的AppId
"Region": "oss-cn-shanghai", //地域
"AccessKey": "LT*************ib",
"SecretKey": "0W******************I",
"IsEnableCache": true //是否启用缓存,推荐开启
}
]
}配置说明:日志等级Logging{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
}
}在上述JSON中:指定了"Default"、"Microsoft"和"Microsoft.Hosting.Lifetime"日志级别类别。"Default"值应用于未指定的所有类别,从而有效地将所有类别的所有默认值设置为"Information"。可以通过为某个类别指定值来重写此行为。"Microsoft"类别适用于以"Microsoft"开头的所有类别。"Microsoft"类别在日志级别Warning或更高级别记录。"Microsoft.Hosting.Lifetime"类别比"Microsoft"类别更具体,因此"Microsoft.Hosting.Lifetime"类别在日志级别"Information"和更高级别记录。未指定特定的日志提供程序,因此LogLevel适用于所有启用的日志记录提供程序,但WindowsEventLog除外。Logging属性可以具有LogLevel和日志提供程序属性。LogLevel指定要针对所选类别进行记录的最低级别。在前面的JSON中,指定了Information和Warning日志级别。LogLevel表示日志的严重性,范围为0到6:Trace=0、Debug=1、Information=2、Warning=3、Error=4、Critical=5和None=6。指定LogLevel时,将为指定级别和更高级别的消息启用日志记录。在前面的JSON中,记录了Information及更高级别的Default类别。例如,记录了Information、Warning、Error和Critical消息。如果未指定LogLevel,则日志记录默认为Information级别。提供程序属性可以指定LogLevel属性。提供程序下的LogLevel指定要为该提供程序记录的级别,并替代非提供程序日志设置。限制域名AllowedHosts可以通过配置AllowedHosts来限制访问的域名,避免非法解析自己的网站进行访问。参数值只能为字符类型。1、参数值“*”:表示所有的域名都可以访问。2、限制域名访问配置:“examlple.com;exampleB.cn;examlec.com”。不需要端口与主机头信息,只需要填写域名即可。中间用分号“;”间隔。主数据库连接字符串ConnectionStringsWfDBContext作为系统的主要数据库连接字符串,如果配置不正确系统将无法正常运行。请按照下方设置的数据库类型编写对应的数据库连接字符串。使用SQLServer时,模板:DataSource={服务器地址};InitialCatalog={数据库名字};User={登录用户};Password={登录密码};MultipleActiveResultSets=true使用MySQL时,模板:server={服务器地址};userid={登录用户};database={数据库名字};password={登录密码}如果连接字符串中有反斜杠“\”,请用两个反斜杠“\\”代替,因为在json内容中“\”表示转义。日志数据库服务LoggingDBLogDbType:日志服务数据库类型,支持MongoDB/SQLite/Inner,Inner模式直接写入业务数据库无需配置下方连接参数。当系统业务繁忙时,系统日志建议采用MongoDB或者SQLite,使用Inner模式会占用大量主数据库资源,可能会影响系统业务稳定性。如果系统是分布式部署的运行环境,则建议使用MongoDB,如果使用SQLite日志信息会有缺失。ConnectionString:日志服务器连接字符串,当使用MongoDB时填写MongoDB连接字符串模板:mongodb://[username:password@]host1[:port1][,...hostN[:portN]][/[defaultauthdb][?options]] 例如:mongodb://myDBReader:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin当使用SQLite时,直接写数据库文件地址,例如:DataSource=myDatabase.db。注意此时需要站点对该文件夹拥有写入权限,否则日志信息无法正常写入会影响系统运行。DatabaseName:数据库名称,当采用MongoDB时,日志写入的数据库名称。LogLevel:日志等级,All全部日志,Debug调试日志,Info消息日志,Warn警告日志,Error错误日志。低等级日志会包含高等级日志,即Debug会包含Warn和Error。AppSetting应用设置"IdWorker":Id生成器的种子,支持0-35,分布式部署时,每台应用服务器都要部署成不同的种子,否则系统运行时会生成重复Id。"Version":如果为demo,则屏蔽Post请求"DbType":数据库类型:SqlServer/MySql"AppKey":系统应用名称,默认"BaseSys",应用运行后不能修改,分布式部署时名称要统一,否则不能正常运行。"CacheType":缓存类型:Redis/InnerInner模式下无法与其他站点集成,分布式部署必须是Redis,否则无法正常运行。"RedisConn":Redis连接字符串"RedisDb":Redis数据库索引,当一台Redis服务器中有多个应用部署时,请务必保证使用不同的索引,否则站点鉴权会有异常。"MailSMTP":邮箱SMTP服务器地址"MailPort":邮箱SMTP端口"MailSSL":是否启用SSL"MailUserName":发件人名称"MailAddress":发件地址"MailPassword":邮箱密码OSSProvider文件存储服务"Provider":枚举值支持:Minio/Aliyun/QCloud/Qiniu/HuaweiCloud"Endpoint":"oss-cn-shanghai.aliyuncs.com",//腾讯云中表示AppId,注意:主账号的AppId"Region":"oss-cn-shanghai",//地域"AccessKey":"LT*************ib","SecretKey":"0W******************I","IsEnableCache":true//是否启用缓存,推荐开启名称类型说明案例备注Provider枚举OSS提供者Minio允许值:Minio/Aliyun/QCloud/Qiniu/HuaweiCloudEndpointstring节点oss-cn-hangzhou.aliyuncs.com在腾讯云OSS中表示AppIdAccessKeystringAccessKeyF...............sSecretKeystringSecretKeyv...............dRegionstring地域ap-chengduIsEnableHttpsbool是否启用HTTPStrue建议启用IsEnableCachebool是否启用缓存true启用后将缓存签名URL,以减少请求次数Endpoint查询ProviderEndpointRemarkMinio-默认或自建MinioEndpointAliyunhttps://help.aliyun.com/document_detail/31837.html-QCloud-腾讯云没有Endpoint,此配置项表示AppIdQiniuhttps://developer.qiniu.com/kodo/4088/s3-access-domainname-HuaweiCloudhttps://support.huaweicloud.com/productdesc-obs/obs_03_0152.html-请特别注意,编辑服务器上的配置文件后,必须重启应用程序以使更改生效。若使用系统记事本或其他不支持JSON格式的编辑器,请确保JSON格式正确无误,以免导致服务中断。
本文将描述SQLServer数据库的安装与使用。数据库服务安装从微软官网下载SQLServer2016:浏览器提示次类型的文件可能会损害您的计算机,是否要保留文件,选择保留,等待下载完成后点击下载完成的程序安装包:此时弹出安全警告,选择运行:打开数据库安装页面,选择下载介质选项:选择中文简体语言,下载ISO文件,选择下载位置后,点击下载:程序开始下载数据安装文件:等待下载完成后,点击打开文件夹双击下载完成的文件:装载ISO文件后,选择setup应用程序:打开SQLServer安装中心:选择安装,点击全新SQLServer独立安装或向现有安装添加功能:输入产品密钥后点击下一步:选择接收许可条款,点击下一步:不勾选检查更新,直接下一步:完成检查后,点击下一步:勾选数据库引擎服务和客户端工具连接,选择实例根目录后点击下一步:选择默认实例和实例ID后选择下一步:将代理服务改为自动启动,排序规则改为Chinese_PRC_CI_AS:点击下一步,修改身份验证模式为混合模式,输入sa的密码,点击添加当前用户,可按需修改数据目录,点击下一步:准备安装页面中确认要安装的功能,点击安装:等待安装完成:点击关闭,完成安装。点击安装SQLServer管理工具:下载SSMS:下载完成后点击安装包开始安装管理工具:点击安装:等待安装完成后,点击关闭:完成SSMS安装。
库位管理操作说明一、库位列表库位编码需保持唯一。二、新增库位三、导入功能点击导入按钮,点击“下载模板”获取库位的导入模板。将库位信息维护到库位导入模板.xlsx中。整理完成后保存文件,将文件上传,即可完成库位信息的导入。四、编辑功能点击编辑按钮,即可对相应的库位信息进行调整修改。五、删除功能点击删除即可将无用的库位信息删除。
在单据建模过程中,通常包含一个同步接口设置的Tab项目,该模块旨在实现与外部系统间的数据同步,确保业务流程的无缝衔接。以下是对该设置项的详细阐述:1.新增同步接口与管理页面新增同步接口:用户点击相关按钮后,可以创建一个新的同步接口配置,定义其对接的具体功能和交互规则。菜单管理(Sync/OutAPI/Index):通过将管理页面添加至菜单中,用户可以便捷地访问和管理所有已配置的同步接口,便于监控、调试和维护。同一个单据可以建多个API接口,系统会逐一调用。也可以针对单据中的不同数据设置调用条件。2.设置页面与同步内容搭建点击新增或编辑后,用户将进入设置页面,该页面用于详细设定同步接口的各项参数及逻辑:接口名称用户可自由定义接口名称,但建议采用具有明确意义的词汇,以便于后期快速识别、查找和编辑。动作内容保存前:在本系统将单据数据存入数据库之前调用接口。若接口调用出现异常,系统将抛出异常并可能阻止后续数据保存操作。保存后:在本系统完成单据数据入库后调用接口。即使接口调用发生异常,本系统的数据操作已完毕,异常仅作为提示,不影响系统内部状态。删除前与删除后:同理,分别在执行单据删除操作前、后触发接口调用,根据动作时刻的不同,对异常处理策略有所区分。单据分类与名称指定接口调用所对应的单据类别和名称,确保接口能够准确对接到目标业务数据。前置条件通过设置基于主表字段的条件表达式(如BillExt=='出口'),控制在满足特定条件时才调用此接口。字符串常量需使用英文单引号包围。URL信息提交方式:选择接口所需的HTTP方法,如POST、GET、PUT等。接口地址:填入第三方系统提供的接口URL,作为数据交换的目标地址。Body格式支持以下三种提交格式:application/json:将Body内容组装成JSON格式提交,广泛应用于现代API设计中。application/x-www-form-urlencoded:将Body内容以标准的URL-encoded形式编码成键值对,适用于传统表单提交场景。multipart/form-data:适用于类似文件上传等场景,允许额外指定参数名,将Body内容封装为“参数名:json”格式提交。Body类型List:将Body内容包裹在JSON数组中。Object:直接将Body内容组装成JSON对象。选择何种类型应遵循第三方接口的数据结构要求。Headers用于在请求头中添加必要的参数,如AccessKey、SecretKey等认证信息,确保接口调用的合法性与安全性。Body内容根据第三方接口参数需求设置。对于涉及单据子表的内容,使用特定字段标识(如sub),系统会自动处理成相应的数据结构。可以点击“本地字段/值”旁边的问号打开对照表,这有助于用户正确填写本地字段与值。在请求体(Body)中实现了一个特殊机制,该机制规定:任何字段名以“_*”为前缀的属性(包括其子节点),将不会被包含在向服务器提交的数据之中。这一设计旨在为开发者提供一个便捷的途径来存储临时变量或中间计算结果,而无需担心这些数据会被无意中上传至服务器,从而保证了数据的纯净性和传输效率。单据可用的字段可以在行上右键查找。字段格式化格式化功能涵盖多个领域,包括日期、数字和字符串操作:日期格式化:年份:使用yyyy(四位数,如2019)或yy(两位数,如19)月份:MM(两位数,如01-12)或M(一位数或两位数,如1-12)日:dd(两位数,如01-31)或d(一位数或两位数,如1-31)24小时制小时:HH(两位数,如00-23)或H(一位数或两位数,如0-23)12小时制小时:hh(两位数,如01-12)或h(一位数或12,如1-12)分钟:mm(两位数,如00-59)或m(一位数或两位数,如0-59)秒:ss(两位数,如00-59)或s(一位数或两位数,如0-59)毫秒:fff数字格式化:零占位符:0数字占位符:#小数点:.用于分隔整数和小数部分组分隔符:,用于分隔数字中的千位比例换算:可以结合小数点和数字占位符来设置精度和小数部分百分比:%用于表示百分比千分比:‰用于表示千分比字符串操作:哈希算法:支持md5、SHA1、SHA256、SHA384和SHA512,指定算法名称即可,大写表示输出结果为大写Base64编码:将字符串转换为Base64格式的字符串详情可以参阅格式化的字段说明,具体用法以页面中的说明为准。3.Response设置与结果处理内容格式指定接口返回数据是JSON对象还是JSON数组,以便系统正确解析响应。状态字段填写返回对象中用于标识接口操作成功与否的字段全路径。当实际返回值与此字段的预设成功状态相符时,认为接口调用成功;否则视为失败。错误消息字段若接口无明确状态字段,可选使用错误消息字段作为调用成功与否的依据。当返回JSON对象中该字段非空时,视为接口调用失败。异常处理抛出异常:在接口调用失败时,系统弹出错误信息。对于操作前的接口,异常将阻止本系统写入数据库;操作后的接口则仅提示异常,此时数据库操作已完成。不做处理:仅记录调用日志,无论接口调用成功与否,系统均不显示异常,数据操作按原计划进行。单号字段与消息字段系统将接口返回的指定字段值(如单号、消息)写入单据主表相应字段,实现数据回填与状态同步。注意事项状态字段和错误消息字段二选一,至少填写一个,否则系统无法判断调用结果。如实不需要系统关注调用结果也可以不填,并将失败时设置为不做处理。所有返回内容字段名称必须填写完整的路径名称,确保系统能准确提取所需数据。错误的配置可能导致接口报错!如果返回的格式有列表,请在路径中指定列表行索引。例如返回格式是:{
"Status": 0,
"Data": {
"id": 1,
"code": "SH20200021",
"description": "test",
"created_at": "2021-01-01 00:00:00",
"updated_at": "2021-01-01 00:00:00",
"deleted_at": null
}
}要获取单号则路径应该写成:Data.code,状态字段是:Status。如果是:{
"Status": 0,
"Data": [{
"id": 1,
"code": "SH20200021",
"description": "test",
"created_at": "2021-01-01 00:00:00",
"updated_at": "2021-01-01 00:00:00",
"deleted_at": null
}]
}要获取单号则路径是:Data.0.code,状态字段是:Status。如果是:[{
"Status": 0,
"Data": [{
"id": 1,
"code": "SH20200021",
"description": "test",
"created_at": "2021-01-01 00:00:00",
"updated_at": "2021-01-01 00:00:00",
"deleted_at": null
}]
}]要获取单号路径则是:0.Data.0.code,状态字段是:0.Status。4.执行日志记录您可以在同步接口列表中查看执行记录,这有助于调试接口信息。
本文主要解释应用的更新方式、更新说明、如何进行系统更新,以及常见的更新问题。MES主程序更新有三个频道:稳定版、公测版、内测版。稳定版本来自公测版本释出使用与改善而修正完成,通常是初始版本进行几个小更新后的版本。为目前所使用的软件在符合需求规格的硬件与操作系统中运行不会造成严重的不兼容或是硬件冲突,其已受过某定量的测试无误后所释出。公测版本是软件最早对外公开的软件版本,由公众参与测试,此版本包含所有功能性的更新,但可能会有一些已知问题和轻微程序错误,需要进一步调试。我们诚邀外部客户或合作伙伴参与其测试,及时反馈问题会使软件有更高的可用性。内测版本仍然需要测试,其功能亦未完善,因为它是整个软件发布周期中的第一个阶段,通常会推送到开发软件的部门或顾问群体中的软件测试者作内部测试。此版本不一定能稳定运行,仅供我司内部测试用。注意更新程序是一项非常严肃的工作,需要您综合评估当前版本和最新版本之间的功能差异。部分缺失的数据可能需要专业人员处理,普通用户不应随意更新。请严格按照本说明进行操作!本应用程序可提供自动手动两种更新方式:自动更新仅Windows系统支持自动更新程序1.打开安装目录下的“UpdateHelper.exe”文件;如果没有更新文件,则可以点击下载更新工具后,解压放到站点根目录下运行,即“MES.Mvc.exe”所在的目录,最终是产品“MES.Mvc.exe”和更新工具“UpdateHelper.exe”在同一个目录下:程序会自动计算站点所用的进程池,但您仍需要检查所选进程池是否正确,确认所选择MES站点的进程池正确后,点击检查更新,验证账号后工具会罗列出当前版本和最新版本之间的更新内容,请仔细阅读核对无误后方可点击开始更新;2.打开系统的数据库校验工具(ModelCheck),生成语句去SSMS执行即完成更新。本应用程序需要.NETFramework4.5.2或更高版本支持,WindowsServer2012R2以上版本系统自带,否则需要手动下载安装。更新程序开始后在备份和下载更新文件过程中可以关闭程序以取消更新,过了这个进度不能关闭更新程序,会导致不可预测的意外情况。如果程序开始更新后进度始终卡在“等待应用程序结束并清理缓存文件,预计1分钟左右”,请检查进程池选择是否正确,如果进程池选择错误,则需要您到IIS管理器进程池管理界面手动回收MES站点的进程池,再等待程序更新完成,切勿在此时关闭更新程序。强行关闭更新程序将导致程序异常,需要手工恢复备份文件,部分情况下需要删除站点目录后重新安装。手动更新1.备份当前版本的文件;2.在版本记录中下载对应的文件;3.停止网站服务,也可以停止IIS的进程池或者程序本身;4.将下载好的更新文件解压到原站点所在的文件夹,覆盖原有文件;5.重新启动网站服务;6.打开系统的数据库校验工具(ModelCheck),生成语句去SSMS执行即完成更新。注意事项1.过于老旧的版本更新需要特别注意现有版本对操作系统要求不低于WindowsServer2012,数据库要求版本不低于SQLServer2012。2.现有应用在Windows系统运行时依赖于.Net6.0、VC++2015-2022、Redis组件,请务必先完成这些基础环境的安装。3.系统更新包不能用于系统部署,不能独立运行。4.即使是自动更新,过程中依然会有短暂的服务不可用现象,请和客户做好沟通工作,协调相关第三方系统(例如ERP、数据采集等互联互通的业务系统)配合,严禁在用户使用中更新版本,由此引发的数据异常需要您手工处理。5.自动更新过程中若有错误会导致应用无法启动,可尝试关闭安全软件或者将本工具软件加入白名单并允许本工具的所有操作,再重试更新。如果自动更新持续报错,请您尝试手动更新。如果自动更新工具已经下载完成了补丁包则可以尝试将程序下载的更新文件解压后覆盖到站点目录,如果提示文件被占用需要手动停止IIS进程池,继续手动完成更新。6.如果更新后启动失败,可以打开Windows自带的事件查看器查看原因,如果您使用的是自动更新程序,可以尝试将程序自动创建的备份文件(位于运行目录下,按照“backup_年月日时分秒.zip”命名)解压后覆盖到原有目录中,再重启IIS进程池尝试退回原版本。如果您是手动更新且并未备份,或者退回原版本依然启动失败,请及时联系技术人员处理。7.更新后执行数据库语句时发生执行错误,可以将发生错误的语句和其之前的语句都删除,继续执行后续的更新语句,更新语句都执行后,再次校验数据库。若如果错误信息为:消息 5074,级别 16,状态 1,第 1558 行
对象'DF_oc_TerpMa_Proce_28CEADEE依赖于列'ProcesssubNo'
消息 4922,级别 16,状态 9,第 1558 行
由于一个或多个对象访问此 列,ALTER TABLE ALTER COLUM ProcesssubNo 失败如果你的数据库知识储备足够,应当可以看出这语句执行失败的原因是因为字段上有约束。遇到此类情况,需要你手动删除约束对象,然后执行更新语句。还有一种方法是直接使用数据库设计器工具,直接修正字段类型。
使用场景:读取ERP数据,将ERP数据同步至MES(一般是ERP将基础资料封装成视图,MES读取视图数据将存储至指定表单)涉及功能:外部数据库,入站同步设置,系统定时任务关键词:数据同步,ERP视图,基础资料本文档案例:将ERP人员同步至MES人员管理1.设置与ERP数据的连接2.配置同步内容2.1配置同步数据源主键是双方系统共认的唯一标记,一般使用编号作为该标记更新键是判定每次同步数据是否更新该条数据,如检测到视图中的该字段内容与系统中该字段内容不一致,则触发该数据更新执行频率根据具体情况配置2.2建立外部数据源与系统内单据关系3.检查系统定时任务是否正常执行当配置完成入站同步设置后,系统会自动生成对应的定时任务。点击记录,查看有执行且无报错则代表配置无问题4.进入表单人员管理查看数据是否同步过来其他:如同步物料信息,则先要同步【物料分类】,再同步【物料档案】。而且【物料分类】的同步频率要快于【物料档案】
WindowsServer是微软研发的服务器操作系统,其最新WindowsServer2022版本在2021年公开测试并发布。在WindowsServer2019的基础上有许多的创新设计:高层多级安全性、Azure混合功能和灵活的应用程序平台。WindowsServer2022分为带有GUI桌面和不带GUI桌面的命令行版本。按照不同用户区分的话,WindowsServer2022有针对个人或普通用户发售的零售版本,也有能提供长时间技术支持更新服务的WindowsServer2022LTSC企业用户版本。目前微软已发布了WindowsServer2022Standard、Datacenter和DatacenterAzure三种版本。在这三个版本中WindowsServer2022Standard(标准版)是主要版本。如果您需要安装其他版本,也可以参照本教程步骤,各版本的安装过程大同小异。下面将介绍WindowsServer2022安装过程。1.准备安装镜像网络上有很多ISO镜像文件可以获取,但建议从微软官方获取:在微软官网链接Microsoft评估中心下载ISO,勾选“下载ISO”,然后点击“继续”,填写相关信息后进行下一步下载。用一些三方工具如UltraISO来将ISO镜像文件刻录到U盘。将U盘连接到电脑,然后设置BIOS从U盘启动。2.安装系统从U盘启动后就可以进入WindowsServer2022安装程序。若需要安装的电脑能启动,可以直接双击打开ISO文件,再双击“setup.exe”进入升级安装程序。置界面中设置安装的语言和时间货币等,然后点击“下一页”。点击“现在安装”。注意,若以后电脑出现故障,可以在这里选择“修复计算机”进行故障修复这里会提示你“安装程序正在启动”,然后进入系统选择界面。这里为你提供了四种系统,根据需要选择系统版本,然后点击“下一页”。关于四种系统区别:•1和3是不带GUI界面的命令行版本,2和4是有用户桌面的版本。•2和4的区别在于所支持的功能有所不同,当然版本对应的价格也有所不同。勾选接受许可条款协议,然后选择“下一页”选择Windowsserver2022安装类型,这里选择“自定义:仅安装MicrosoftServer操作系统”这里可以直接选择驱动器,然后点击“下一页”,也可以选择“新建”功能将磁盘分区。这里将会进入Windowsserver2022安装状态,稍等一会,大约几分钟。Windowsserver2022安装过程将进入重启,然后你将设置WindowsServer2022管理员密码,并点击“完成”。之后重启输入密码进入桌面,即完成安装!接下去就是根据您的需求部署服务器了。注意:对于WindowsServer的评估版本必须在前10天内通过Internet进行激活以避免自动关闭。
在所需监控区域设置摄像头,确保选用的是海康威视的网络型摄像头,并完成摄像头的参数配置。安装视频采集软件至数据采集计算机,该软件能自动连接并显示摄像头的实时视频流。如果画面不清晰,用户可通过内置的对焦工具调整摄像头的焦点。该采集软件预设为在端口12405监听,以响应MES(制造执行系统)的调用请求。为确保服务器能访问这个地址,请将采集程序加入防火墙白名单中,并开通12405端口,允许外部访问。软件下载地址:视频采集程序在MES系统的后台,需扩展设备管理功能以包含视频接口。在设备详情的视频接口配置项内,输入采集软件的访问地址,例如:http://192.168.31.15:12405。注意是采集程序所在电脑的IP,不是摄像头的IP。要注意的是采集程序同一时间只能响应一次请求,即开始录像后只有结束录像才能响应下一次录像请求,所以后台设置时请务必一一对应设备信息,切勿将多个设备的视频服务地址指向同一个采集程序!操作员使用PDA或智能手机上的应用程序,上岗后针对特定设备,启动视频录制功能(需要用户有按钮“btn_SNVideo”的权限)。扫描条形码启动录像,再次扫描相同条码或点击完成按钮来终止录制。由于视频采集程序同时只能响应一个请求,所以请确保该设备扫描视频的功能只有一个PDA或手机使用,多个终端同时扫描会只响应第一个,进而导致后续条码没有视频记录。最后,在MES后台的条码记录界面,用户可以在附件部分查看并回放与特定条码关联的录像片段。如果没有录像文件,请稍后再查看,程序回传文件需要一定时间,具体视您所在网络环境和摄像头拍摄清晰度而定,越高的清晰度越长的录像时长产生的文件越大,所需回传的时间就越久。
1系统安装1.1iso下载ubuntu官网https://cn.ubuntu.com/1.2安装ubuntu-22.04.21.2.1系统更新设置选择continuewithoutupdating1.2.2分区设置磁盘选择自定义配置选择空闲分区敲回车,选择增加一个GPT分区boot分区分配1G空间其余的容量都分配给根分区,容量不填写表示分配剩余的所有容量分区设置好后,点击完成1.2.3用户设置创建一个用户,设置主机名1.2.4ssh服务设置安装ssh服务1.2.5预装服务选择需要在安装系统时安装的服务,不需要的话可以直接跳过,这一步选择过后会开始安装系统安装完成后直接重启,viewfulllog可以查看安装时的日志2用户配置2.1登录系统使用安装系统时创建的用户登录系统2.2root用户配置2.2.1设置root密码Ubuntu22需要在安装系统后设置ubuntu的root密码才能正常登录。zl@ubuntu:~$ sudo passwd root ##为root用户设置密码
[sudo] password for zl: ##输入zl用户的密码
New password: ##设置root用户的密码
Retype new password: ##重复root用户的密码
passwd: password updated successfully
zl@ubuntu:~$
zl@ubuntu:~$ su root ##尝试是否能登录root用户
Password:
root@ubuntu:/home/zl# id
uid=0(root) gid=0(root) groups=0(root)
root@ubuntu:/home/zl#2.2.2允许ssh使用root用户登录需要使用root用户编辑和重启ssh服务root@ubuntu:/home/zl# grep PermitRoot /etc/ssh/sshd_config
#PermitRootLogin prohibit-password
PermitRootLogin yes
# the setting of "PermitRootLogin without-password".
root@ubuntu:/home/zl# systemctl restart sshd3网络配置3.1dhcp配置dhcp配置较为简单root@ubuntu:/etc/netplan# pwd
/etc/netplan
root@ubuntu:/etc/netplan# cat 00-installer-config.yaml
# This is the network config written by 'subiquity'
network:
ethernets:
ens3:
dhcp4: true
version: 2
root@ubuntu:/etc/netplan# netplan apply ##应用配置在上面的文件中,我们使用了以下内容:ens3:接口名称dhcp4:启用dhcp3.2静态ip配置在UbuntuServer22.04中,网络由NetPlanUtility控制,因此我们将使用NetPlan在UbuntuServer上配置静态IP地址。登录到您的服务器,查找NetPlan配置文件。它位于/etc/netplan目录下,是一个yaml格式的文件。root@ubuntu:/etc/netplan# pwd
/etc/netplan
root@ubuntu:/etc/netplan# cat 00-installer-config.yaml ##修改如下内容,设置网卡ip及密码
# This is the network config written by 'subiquity'
network:
renderer: networkd
ethernets:
ens3:
addresses:
- 172.18.100.112/16
nameservers:
addresses: [114.114.114.114, 8.8.8.8]
routes:
- to: default
via: 172.18.0.1
version: 2在上面的文件中,我们使用了以下内容:ens3:接口名称addresses:用来设置静态IPnameservers:用来设置DNSserverroutes:用来设置网关要使上述更改生效,请使用以下netplan命令应用这些更改root@ubuntu:/etc/netplan# netplan apply4软件包管理4.1网络源配置每个版本的源不同,本例为22.04版本的配置方式root@ubuntu:/etc/netplan# mv /etc/apt/sources.list /etc/apt/sources.list.bak
root@ubuntu:/etc/netplan# cat /etc/apt/sources.list ##新编辑一个文件,内容如下
deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
系统无法打开1、打开系统地址页面报ServiceUnavailable错误:此类错误一般表示IIS当前无法正常启动应用程序池,你需要打开IIS查看站点对应的应用程序池是否能够正常启动。如果启动后进程池立刻停止运行,你需要打开系统的事件管理器,查看错误信息,根据具体错误信息进行故障排查。常见故障:无法连接缓存服务,通常在事件管理器中的错误信息中包含Redis字样,无法连接缓存服务可能导致程序无法运行,请确保Redis被正确安装,且应用Appsetting.json配置的Redis连接正确。无法启动人脸识别服务,通常在事件管理器中的错误信息包含tennis字样,无法正确启动人脸识别服务的情况下,你需要确定VC++安装正确,且服务器所使用的CPU支持AVX2、FMA指令集。磁盘无可用空间,在系统盘或站点安装磁盘无可用空间时Windows都会出现崩溃情况,可能导致IIS无法启动站点。一般情况下建议关闭IIS的日志服务,否则可能引起磁盘空间不足。进程池所用的账号权限不足,有些服务器受到监管要求或其他安全策略限制,默认的进程账号可能没有权限,你可以在进程池的高级设置中将进程模型的标识更换为有权限的账号。2、打开系统地址页面报InternalServerError错误:此类错误表示当前系统未能正常识别.NETCore运行组件,你需要确定WIndows下运行时ASP.NETCore的安装是否已完成,对应的版本是否正确,具体版本以程序发布时的版本要求为准。在IIS环境下,你需要安装Windows下的运行时HostingBundle,不要安装其他无关版本。如果你是先安装的HostingBundle后配置的IIS,你需要重新安装或修复HostingBundle。注意:.NETCore不能跨版本支持,即不存在8.0版本可兼容运行6.0版本的说法,你需要严格按照应用要求安装对应版本。3、打开系统地址页面报错ASP.NETCoreappfialedtostart。此类错误标签表示站点基础环境配置是正确的,但应用依赖组件无法正常加载,可参考ServiceUnavailable的错误处理,用事件查看器查看具体错误信息后对应处理。4.数据库连接异常如字面意思,你配置的数据库连接不上,请检查数据库连接字符串是否正确,且防火墙规则中没有对数据库及其使用的端口号进行拦截。注意:Appsetting.json中的数据库连接字符串中如果需要使用反斜杠“\”,请使用双反斜杠"\\",json文件的规则中单个反斜杠表示转义。超时报错操作时类似于这样的错误信息:Execution Timeout Explred. The timeout period elapsed prior to completion of the operaion or the server is not responding翻译:操作超时,在操作完成之前经过的超时期限或服务器没有响应。此时需要关注的点是:1.提交的数据是否过多,大量的数据操作会引发超时。例如:提交的单据需要生成条码,当数量超过1000个,则有概率会报类似错误。2.检查数据库对应操作的表是否有触发器,检查触发器是否会引起锁表等异常操作,当原本操作加上触发器时可能会引起大量的数据查询,请优化触发器语句或禁止触发器动作。3.检查数据库对应服务器是否性能太差,数据服务器性能太差会引起超时问题,可以升级硬盘、内存、CPU等硬件。特别是硬盘,有些大容量的机械硬盘读写速度性能堪忧。报错之后怎么办?稍等片刻,服务器虽然返回了超时错误,但不代表数据未执行,而是执行过程太长,页面超时了。过段时间再查看数据是否正常,过多久取决于数据大小和数据库性能。如执行完成后数据异常,请将日志文件和事件错误信息一并保存到文本后进行反馈。更新数据报错An error occurred while updating the entries. See the inner exception for details.翻译:更新条目时出错。有关详细信息,请参阅内部异常。内部异常需要服务器管理员登录后查看应用程序日志和操作系统系统事件才能定位具体原因,所以单纯地反馈这种错误信息完全没有任何参考意义。需要您登录服务器,打开程序根目录,查看Logs文件夹下报错当天的系统日志,将具体错误信息反馈。如果没有找到日志文件,或者日志文件记录不清晰,则需要您打开系统的事件查看器,点击Windows日志、应用程序,找到报错时间对应的错误事件信息进行反馈。此类问题一般的操作方法:1.检查数据库文件所在磁盘是否已满。2.检查数据库中要操作的表是否存在触发器,测试禁用触发器后是否继续报错。3.核对系统版本,最新版本可能已经修复此问题,更新后检查问题是否还存在。如上述方法不能解决,请将日志文件和事件错误信息一并保存到文本后进行反馈。
在API接口对接中经常会遇到接口需要先进行鉴权操作,类似于系统登录后才可以进行API操作。本系统的同步API设置中考虑了这种情况,您需要预先设置API鉴权功能。以下是API接口鉴权流程说明。1.预设鉴权功能目的:确保API接口调用前的安全性,模拟类似系统登录的过程。操作位置:访问Sync/OutAPIAuth/Index菜单地址,此菜单项集中管理API鉴权配置,便于运维监控与调整。2.鉴权配置共享多接口调用:单个鉴权配置可服务于多个API接口,提升复用性和效率。超时处理:自动化管理鉴权时效,一旦超时,系统将触发重新鉴权,确保调用连续性。3.复杂鉴权支持嵌套鉴权:支持鉴权接口间的嵌套调用,满足多层级验证需求,如先用账号获取AccessKey,再通过AccessKey获取Token,接口调用Token进行下一步验证。注意不要互相调用形成循环嵌套,这样会引起系统异常。4.实操步骤步骤一:配置鉴权方法操作:在鉴权管理界面设定获取Token的逻辑。验证:利用内置的“测试”功能,确保该鉴权接口能成功返回预期信息,如Data.Token字段包含鉴权凭证。步骤二:接口变量绑定变量设定:在需鉴权保护的API接口配置中,创建变量以存储鉴权结果,写法是“接口鉴权编码.返回的鉴权信息路径”。例如,使用GToken.Data.Token引用之前获取的Token。注意事项:注意变量命名与路径的准确性,保持大小写一致,确保系统能准确解析并应用鉴权信息。5.动态响应与维护自动化处理:一旦系统检测到鉴权失效(如超时),将自动执行重新鉴权流程,保证API调用无缝进行。灵活性:通过上述配置,实现了动态获取和更新鉴权凭证,简化了开发与维护工作,提高了系统的稳定性和安全性。
安装window服务安装命令:InstallUtil.exeMESSyncService.exeInstallUtil存在路径为:C:\WINDOWS\Microsoft.NET\Framework\.NET版本号复制C:\WINDOWS\Microsoft.Net\Framework\版本号路径中的InstallUtil.exe到bin/debug或bin/release文件夹中,在命令行窗口中直接运行命令InstallUtil.exeMESSyncService.exe,在系统中注册这个服务,使它建立一个合适的注册项,如下图:然后再window服务列表中,启动MES数据同步服务卸载window服务命令:InstallUtil.exeMESSyncService.exe/u如果修改这个服务,但是路径没有变化的话是不需要重新注册服务的,直接停止服务,然后用新的文件覆盖原来的文件即可,如果路径发生变化,应该先卸载这个服务,然后重新安装这个服务。配置选项appSettings
!--MES数据库--
add key="MES" value="MES"/
!--ERP数据库--
add key="ERP" value="HKS"/
add key="URL" value="http://localhost:5001"/
add key="USER" value="System"/
add key="PSW" value="123456"/
!--缩略图路径--
add key="FileThumnFormat" value="Material/thumb/{0}.png"/
!--附件名字格式--
add key="FileAttachFormat" value="{0}.pdf"/
!--同步间隔,单位:秒 0表示不同步--
!--Web生产计划--
add key="SyncPlan" value="1800"/
!--Web物料信息--
add key="SyncMaterialWeb" value="1800"/
!--Web物料类型信息--
add key="SyncMaterialTypeWeb" value="1800"/
!--Web工艺路线同步--
add key="SyncRoutingWeb" value="1800"/
!--Web物料清单同步--
add key="SyncBomWeb" value="1800"/
!--Web程序热键--
add key="SyncHotkey" value="1800"/
!--客户信息--
add key="SyncCustomer" value="1800"/
!--供应商--
add key="SyncSupplier" value="1800"/
!--工作中心--
add key="SyncWorkcenter" value="1800"/
!--人员信息--
add key="SyncEmployee" value="1800"/
!--工序--
add key="SyncProcess" value="1800"/
!--物料信息--
add key="SyncMaterial" value="1800"/
!--工艺路线--
add key="SyncRouting" value="1800"/
/appSettings上述配置信息中均已标识其中Web开头的需要配置URL、USER、PSW才可以使用,系统会调用WEB所在地址进行同步服务。其余各项只能使用易飞的ERP时才可以使用,其他系统不能同步。同步易飞的ERP信息时需要配置数据库信息:connectionStrings
add name="DBConnection" connectionString="Data Source=47.92.*.*;Initial Catalog=MES;User ID=sa;Password=******" providerName="System.Data.SqlClient"/
/connectionStrings仅支持MES和ERP在同一个数据库下的部署场景,其他情况请使用新版本的同步工具,本工具不支持。
VisualC++可再发行程序包安装MicrosoftC和C++(MSVC)运行时库。许多使用MicrosoftC和C++工具生成的应用程序都需要这些库。如果你的应用使用这些库,则必须在安装该应用之前在目标系统上安装MicrosoftVisualC++可再发行程序包。可再发行程序包体系结构必须与应用的目标体系结构相匹配。可再发行程序包版本必须至少与用于生成应用的MSVC生成工具集一样新。我们建议使用适用于你的VisualStudio版本的最新可再发行程序包,本文稍后会指出一些例外情况。VisualStudio2015、2017、2019和2022下表列出了适用于VisualStudio2015、2017、2019和2022的最新受支持英语版(en-US)MicrosoftVisualC++可再发行程序包。最新受支持版本提供最近实现的C++功能、安全性、可靠性和性能改进。它还包括最新的C++标准语言和库标准遵从性更新。我们建议为使用VisualStudio2015、2017、2019或2022创建的所有应用程序安装此版本。与Redist更新不频繁的旧版VisualStudio不同,VisualStudio2015-2022的版本号未在下表中列出,因为redist经常更新。若要查找最新redist的版本号,请使用以下链接之一下载感兴趣的redist。然后,使用Windows文件资源管理器查看其属性。在“详细信息”窗格中,“文件版本”包含redist的版本。体系结构链接说明ARM64https://aka.ms/vs/17/release/vc_redist.arm64.exe最新受支持ARM64版本的永久链接X86https://aka.ms/vs/17/release/vc_redist.x86.exe 最新受支持x86版本的永久链接X64https://aka.ms/vs/17/release/vc_redist.x64.exe最新受支持x64版本的永久链接。X64可再发行程序包包含ARM64和X64二进制文件。当X64可再发行程序包安装在ARM64设备上时,可以通过此包轻松安装所需的VisualC++ARM64二进制文件。从my.visualstudio.com下载其他版本,包括长期服务发布渠道(LTSC)版本。说明VisualC++RedistributableforVisualStudio2015-2022没有针对不同语言的单独包。它包含所有受支持语言的EULA。本文中提到的某些下载内容当前已在my.visualstudio.com上提供。使用VisualStudio订阅帐户登录,以便可以访问下载链接。如果系统要求提供凭据,请使用现有的VisualStudio订阅帐户。或者,通过选择“没有帐户?创建一个!”链接来创建一个免费帐户。自VisualStudio2015起的VisualStudio版本共享相同的可再发行文件。例如,由VisualStudio2015、2017、2019或2022工具集生成的任何应用都可以使用最新的MicrosoftVisualC++可再发行程序包。但是,计算机上安装的MicrosoftVisualC++可再发行程序包版本必须与用于创建应用程序的VisualC++工具集的版本相同或更高。有关要安装哪个可再发行程序包版本的详细信息,请参阅确定要重新分发的DLL。有关二进制兼容性的详细信息,请参阅VisualStudio版本之间的C++二进制兼容性。WindowsXP支持:Microsoft在2014年4月8日已终止对WindowsXP的支持。当前版本的VisualC++RedistributableforVisualStudio2015-2022仅支持WindowsVista、7、8.1、10和11。VisualStudio2019版本16.7随附了适用于WindowsXP的最后一个VisualC++可再发行程序包版本(文件版本从14.27开始)。该可再发行程序包在my.visualstudio.com下载区域中显示为“VisualC++RedistributableforVisualStudio2019(版本16.7)”。请使用搜索框查找此版本。若要下载文件,请选择所需的平台和语言,然后选择“下载”按钮。VisualC++可再发行程序包支持多个命令行选项。有关详细信息,请参阅可再发行程序包的命令行选项。VisualStudio2013(VC++12.0)这些链接用于下载适用于VisualStudio2013的最新受支持en-US版MicrosoftVisualC++可再发行程序包。可以从VisualC++2013可再发行程序包更新或my.visualstudio.com下载其他版本和语言。体系结构链接版本X86https://aka.ms/highdpimfc2013x86enu12.0.40664.0X64https://aka.ms/highdpimfc2013x64enu12.0.40664.0其他版本适用于VisualStudio2013的多字节MFC库。此适用于VisualStudio2013的MFC加载项包含Microsoft基础类(MFC)库的多字节字符集(MBCS)版本。适用于旁加载Windows8.1应用的VisualC++2013运行时。有关详细信息,请参阅C++团队博客中的C++RuntimeforSideloadedWindows8.1apps(适用于旁加载Windows8.1应用的C++运行时)。
在系统完成安装后首次打开会进入注册登记页面同意后进入授权信息填写,填写前检查序列号是否正常生成,如果没有序列号信息,请检查站点目录下wwwroot文件夹是否赋予了适当的权限,文件夹权限修改后刷新页面,进入信息填写:如果服务器可以访问互联网,则填写相关信息后直接点确定授权即可。如果服务器不能访问互联网,请到注册中心手动注册:http://lic.ymes.cn/Home/Register,系统会将授权码发送到您的邮箱中,请将授权码填入站点目录wwwroot\content\keys下的文件中,切勿修改文件名,手动注册完成后系统将无法自动获取90天使用授权,我们会尽快将授权码发送到您手动注册登记的邮箱中,请注意查收,并将其填入授权信息中即可完成授权。至此,系统完成注册登记,您将自动获取系统全功能模块的90天试用期,可以开始使用系统的功能。如需进一步授权,请联系我们的商务人员或顾问团队。需要注意的是您填写的企业名称和联系人手机邮件将会成为授权信息的绑定关键信息,请认真填写,并保持其在项目时间内一直可用,否则可能导致授权不可用或被系统拒绝授权。
当程序启动时,如果无法连接数据库,程序会报异常,无法正常启动。此时需要管理员到后台检查程序的配置文件(程序根目录下appsetting.json)是否存在异常,或者数据库所在服务器是否有所变更。本文列举了一些常见的报错和解决方案,供技术人员参考,修正完错误后,请重启站点应用服务。一、无法连接数据库异常信息类似于:A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections.解决方案:1.检查数据库连接字符串中数据库IP或名称是否正确,特别是同一服务器中有多个数据库实例的情况下要特别注意实例名称。2.检查数据库端口是否是默认端口,如果不是请在连接字符串中加上指定端口。3.检查数据库所在服务器是否开启了防火墙,或者是否有其他安全软件对数据库端口进行了隔离。4.如果是独立部署的数据库服务器,请检查数据库配置项中是否已允许远程连接。5.检查数据库服务是否正常运行。注意:json文件中反斜杠"\"是一个转义字符,如果数据库连接中存在反斜杠,请输入两个反斜杠“\\”代替。二、数据库用户无法登录用户 'mes' 登录失败。解决方案:1.检查数据库用户“mes”是否存在,且赋予了其相对应的访问权限。2.检查数据库用户“mes”的连接密码,是否能够正常登录。3.检查数据库用户“mes”是否被强制启用了安全策略,密码是否已经过期。以上“mes”用户名只是一个例子,也适用于其他用户名。
Redis下载地址:windows版本readis下载(GitHub):https://github.com/tporadowski/redis/releases(推荐使用)https://github.com/MicrosoftArchive/redis/releases官网下载(无Windows版本):https://redis.io/downloadRedis中文网站:http://www.redis.cn所有版本这里都有:https://download.redis.io/releases/(下载后是个Linux的压缩文件,需要下载、解压和编译)发行说明:https://raw.githubusercontent.com/redis/redis/5.0/00-RELEASENOTESRedis支持32位和64位。根据你所使用的系统和实际情况进行选择,这里我下载Redis-x64-xxx.zip压缩包到磁盘,解压后,将文件夹重新命名为redis。Windows下的.msi安装和.zip格式区别:.msi是Windowsinstaller开发出来的程序安装文件,它可以让你安装,修改,卸载你所安装的程序。说白了.msi就是Windowsinstaller的数据包,把所有和安装文件相关的内容封装在一个包里。此外:它还包含有关安装过程自己的信息。例如:安装序列、目标文件夹路径、安装选项和控制安装过程的属性。.zip是一个压缩包,解压之后即可,不需要安装一、zip压缩包方式下载安装1、下载Redis压缩包这里我在GitHub中下载window用的5.0版本Redis-x64-5.0.14.1.zip。https://github.com/tporadowski/redis/releases2、解压到文件夹将下载的压缩包解压到指定的文件夹中,如:D:\Redis,内容如下:3、启动Redis服务在Redis的安装目录下打开cmd窗口,然后执行命令来启动服务:redis-server.exe redis.windows.conf切换到redis目录:可以打开cmd使用cd命令切换到redis所在的目录:cd/dd:\redis随后使用redis-server.exeredis.windows.conf命令来启动redis服务。默认端口为6379,出现图上的图标说明redis服务启动成功。命令里面的redis.windows.conf可以省略,省略后,使用redis-server.exe命令会使用默认的配置。二、msi安装包方式下载安装1、下载Redis安装包这里我在GitHub中下载window用的5.0版本Redis-x64-5.0.14.1.msi这里选择.msi格式的安装版本(另外一种.zip为本文中的第一种安装方式安装)https://github.com/tporadowski/redis/releases2、进行安装直接运行.msi的安装包,一直next,直到下面界面,勾选上再next需要注意的是Redis安装目录所在盘需要有系统的分页文件,不然可能导致Redis无法正常写入磁盘,从而导致无法对外提供服务。Redis需要使用大量的IO资源,建议将其安装在系统盘下,尽量避免与MES安装在同一硬盘上,或者直接独立服务器安装,避免影响性能。3、进行配置①安装完毕后,进入redis安装目录找到配置文件redis.windows-service.conf注意是redis.windows-service.conf不是redis.windows.conf后者是以非系统服务方式启动程序使用的配置文件.②在配置文件中,找到requirepassfoobared字样,在其后面追加一行,输入requirepass123456设置访问Redis时所需的密码。一般测试情况下可以不用设定密码。这里设置123456做演示。③修改保存失败处理策略,找到stop-writes-on-bgsave-error,将其值改为no。否则系统崩溃引起对外服务异常会导致系统崩溃。注意如果分析日志后发现存在数据存入磁盘失败的情况,请立即分析失败原因并解决(一般是内存过小,磁盘空间不足,磁盘性能低下或者所在磁盘没有系统分页引起的故障),否则服务器重启或者服务崩溃会导致数据丢失,进而导致单号重复等异常。4、启动服务进入计算机服务中(右键计算机→管理→服务和应用程序→服务)再在右侧找到Redis名称的服务,查看启动情况。如未启动,则手动启动。正常情况下,服务应该正常启动并运行了,但是因为前面修改过配置文件,需要重启服务。
配置安灯模块的前提是系统需完成MQTT模块的集成,有关MQTT相关的集成工作请参见MQTT服务集成工作。初始化安灯设备网络1.将安灯连接USB电源,使用笔记本电脑连接HC-25…开头的WIFI。2.查看笔记本获取的IP地址(例如:192.168.4.23),用浏览器访问该地址的默认网关(例如:192.168.4.1)。3.打开安灯系统配置页面:4.默认没有密码,点击登录后弹窗再点确认后进入配置页面:5.修改WiFiMode为STA,后面的地址类型网络名称等请按照实际WiFi配置。注意:此设备芯片不支持带中文字符的WiFi网络,请确保网络名称没有中文字符或其他非英文数字字符。若将WiFiMode设置为AP+STA则会增加设备功耗,并且过多的WiFi网络会影响现场网络环境,引起不必要的数据丢包问题。6.打开路由器管理界面,找到名称以HC-…开头的设备,查看该设备的IP地址,在浏览器中输入该IP地址后重新登录安灯设备的管理界面。7.修改Socket参数,类型为Client,协议选择MQTT,远程IP端口填写MQTT服务的IP与端口。8.修改MQTT参数:Clientid随机生成的,可以随意修改,但各个安灯不要重复Username和password按照MQTT服务配置填写,若无则不要填写订阅主题QOS填写2(消息仅处理一次的意思)订阅主题按照内容填写:主题说明StatusFacility设备异常StatusQuality质量异常StatusEmployee人员异常StatusMaterial物料异常如果是单独监听某台设备的异常信息则可以在StatusFacility后加上“/FacilityCode”,例如:StatusFacility/FAC0001,则此安灯仅监视对应设备码为FAC0001的状态信息。推送消息QOS和推送主题默认即可,无需修改。发送心跳时间默认60秒,用于服务确认设备是否在线,无需修改。点击保存后提示要重启模块,选择确定。重置设备网络若在配置过程中出现意外导致设备无法联网,或者WiFi发生变化需要重置安灯网络的,请按照如下步骤重置:1.逆时针旋转打开设备保护盖,摘下白色灯罩,露出电路板和灯珠:注意:此时可以看到一个小按钮,这个按钮是用来测试灯珠是否正常的,按下去灯珠会点亮/闪烁/关闭,此按钮并不能重置网络。2.向上稍微拔出一点电路板,露出网络模块:长按网络模块上的按钮,直到模块上的蓝色小灯等开始快速闪烁,表明网络已经重置成功。3.将灯装回后,按照流程重新配置网络信息。配置异常处理流程1.打开MES系统后台,找到“表单管理”菜单,添加四种表单:表单名称表单类型表单地址主表名称设备异常单系统单据System/Abnormal/EditModel?id={{Id}}Sys_Abnormal人员异常单系统单据System/Abnormal/EditModel?id={{Id}}Sys_Abnormal物料异常单系统单据System/Abnormal/EditModel?id={{Id}}Sys_Abnormal质量异常单系统单据System/Abnormal/EditModel?id={{Id}}Sys_Abnormal示例如下图所示:2.找到流程模板管理页面,添加异常单据处理流程:可在模板编辑中添加回调内容,例如:将回调类型选择数据库存储过程回调内容填写:updateSys_AbnormalsetStatus=1whereId={{FormId}}其中Sys_Abnormal的Status字段表示异常处理单的状态,含义如下:Status值说明灯的颜色0新建红色1处理中黄色2已完成绿色其中{{FormId}}表示系统会将此内容替换成对应处理单据的Id号。亦可在步骤中设置回调内容,原理同上。由此可以自定义各异常处理单的处理流程和步骤,以及和安灯系统的联动。3.后台的异常单查看和处理,请添加异常单的菜单:菜单名称URL设备异常System/Abnormal/Index?billtype=Facility人员异常System/Abnormal/Index?billtype=Employee质量异常System/Abnormal/Index?billtype=Quality物料异常System/Abnormal/Index?billtype=Material在异常单据中点击编辑,可进入处理页面,按照流程设定好的用户点击处理,系统会按照设定好的步骤进行流程流转。
本文描述MySQL数据库的安装与初始化过程。目录免安装版的Mysql一:下载安装包: 二:Mysql的配置 免安装版的MysqlMySQL关是一种关系数据库管理系统,所使用的SQL语言是用于访问数据库的最常用的标准化语言,其特点为体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,在Web应用方面MySQL是最好的RDBMS(RelationalDatabaseManagementSystem:关系数据库管理系统)应用软件之一。 在本博文里,我主要以Mysql免安装版为例,帮助大家解决安装与配置mysql的步骤。 首先:要先进入mysql官网里(Mysql的官网--https://www.mysql.com/),下面是详细步骤:↓(为了方便大家的操作,我的网盘里有安装包:链接:https://pan.baidu.com/s/1LpslLQRNacW2-m3x6odNnQ提取码:e39z ) 一:下载安装包: ①进入官网后,点击"Dowload",然后页面往下拉 ②接下来看到的页面是这样的,红色框框的链接就是mysql社区版,是免费的mysql版本,然后我们点击这个框框的链接:↓ ③接下来跳转到这个页面,在这里,我们只要下载社区版的Server就可以了:↓ ④下载免安装版(windows以外的其他系统除外) ***这样,安装包就下载好了!***注意,安装的目录应当放在指定位置,,其次,绝对路径中避免出现中文,推荐首选英文为命名条件!!!!(我的为参考) 二:Mysql的配置*以管理员身份打开命令行(如下图所示) ①下转到mysql的bin目录下: ②安装mysql的服务:mysqld--install ③初始化mysql,在这里,初始化会产生一个随机密码,如下图框框所示,记住这个密码,后面会用到(mysqld--initialize--console)④开启mysql的服务(netstartmysql) ⑤登录验证,mysql是否安装成功!(要注意上面产生的随机密码,不包括前面符号前面的空格,否则会登陆失败),如果和下图所示一样,则说明你的mysql已经安装成功!注意,,一定要先开启服务,不然会登陆失败,出现拒绝访问的提示符!!! 修改密码:由于初始化产生的随机密码太复杂,,不便于我们登录mysql,因此,我们应当修改一个自己能记住的密码!! 再次登录验证新密码: 设置系统的全局变量:为了方便登录操作mysql,在这里我们设置一个全局变量:↓ ①点击"我的电脑"--"属性"--''高级系统设置''--''环境变量'',接下来如下图所操作 ②把新建的mysql变量添加到Path路径变量中,点击确定,即完成: 配置完成之后,每当我们想要用命令行使用mysql时,只需要win+R,--输入"cmd"打开命令行,之后输入登录sql语句即可。 ③在mysql目录下创建一个ini或cnf配置文件,在这里创建的是ini配置文件,里面写的代码是mysql的一些基本配置 安装版Windows下安装MySQL:1.在浏览器中打开https://www.mysql.com/,进入MySQL的官方网站,国内的网打开可能有点儿慢,稍微等待一下2.在打开的网页中选择downloads标签,如下图:3.在打开的标签页中,滑到页面的最下面,可以看到MySQLCommunityEdition Community(GPL)Downloads» 的字样,点击Community(GPL)Downloads»,如下图:4.在之后打开的页面中,点击MySQLCommunityServer (GPL),如下图:5.在之后打开的页面中就可以看到相关的下载项了,如下图:在图中第一个红色框标注的地方就是选择操作系统,这里我们选择MicrosoftWindows,可以看到第二个红色框是Recommendeddownload,这里就要区分了,如果是新手建议点击这个,因为这个版本的MySQL不用自己配置,就是普通的安装文件,直接一路next就安装完了,如果想深入学习,那么点击Otherdownloads内容区的下载,可以看到前两个是正式版,后两个是debug版,一般选择前两个,根据自己的机器32位还是64位选择下载,下载下来是个zip文件,安装的自己配置,相对复杂6.如果选择了MySQLInstaller进去页面之后,如下:选择第二个下载项进行下载,这里不管是新手还是老手,都会要求先登录再下载,如果没有账号可以注册一个,因为现在MySQL归Oracle所有了,不得不遵循这个规矩为防止有的同学无法下载,这里贴出下载链接:MySQLInstaller5.7:http://cdn.mysql.com//Downloads/MySQLInstaller/mysql-installer-community-5.7.16.0.msiMySQL5.7Windows(x86,32-bit),ZIPArchive:http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.16-win32.zipMySQL5.7Windows(x86,64-bit),ZIPArchive:http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.16-winx64.zipMySQLInstaller只有32位的,没有64位的如果下载的是mysqlinstaller,请看这里:1.双击安装文件,可能会出现下面的画面:意思就是MySQL需要.NETFramework4.0才能继续安装,那我们就安装一下2.用浏览器打开http://www.microsoft.com/zh-cn/download/details.aspx?id=17718,点击下载,就可以很顺利的下载下来了,下载完直接安装3.点击完成,然后再双击MySQL安装文件,这次就能正常安装了~ 4.接下来就是一些说明协议啥的5.同意协议,打钩之后,点击next,然后出现,选择安装选项的界面,一般选择第一个就行,这个选项包含了一些MySQL其它组件,像MySQLWorkbench,MySQLforExcel等等,如果只安装MySQL数据库,选择第二项Serveronly就行,这里我选择了第一项6.点击next出现检查必需项,如果电脑安装了VC2013运行库,Excel,VisualStudio前三项就会自动打上勾,因为我是虚拟机演示的,所以没有装这些,点击next的时候会出现警告框,不去管它,直接点击是跳过7.然后出现即将要安装的软件和插件8.点击execute开始执行安装,等全部安装完之后,点击next,图中第三项表示安装失败,不去管它,是一个odbc数据源,我们一般不用这个9.之后出现配置界面10.点击next之后开始配置,第一个配置的是mysql的运行模式和网络,其中ConfigType表示运行模式,如果安装mysql是做开发用,就直接选择第一个默认的就行,第二个ServerMachine表示运行模式为服务器模式,这些模式的不同会导致MySQL占用系统资源的不同,第二个配置的是网络相关,表示链接MySQL的时候使用TCP/IP协议,并指定端口号为3306,这些如果没有特殊要求就不要去改11.配置完成之后点击next,需要填写MySQL中root用户的密码,长度最低为4位,第二栏中还可以添加普通用户,一般开发用不用再建立用户了,直接使用root就可以,所以我们填完密码之后点击next12.以下图片中需要配置的是MySQL的运行方式,第一个单选框表示是否将MySQL服务作为一个windows服务来运行,windowsservername表示MySQL服务在windowsserver中的名称,第二个单选框表示是否在系统启动时自动启动MySQL,第三个单选框表示MySQL服务以哪个账户运行,这一页的基本别动,直接next13.下面这个是关于MySQL的插件和扩展,直接next14.然后出现下面的界面,直接点击execute15.配置完之后点击finish16.然后再配置MySQL的实例,点击下图中的next17.之后点击下图中的check,然后点击next18.点击下图中的execute19.执行完毕之后点击finish,又回到了主程序,然后点击next20.然后点击下图中的finishfinally,配置完了~~~我们开始验证一下,在开始菜单找到MySQL5.7CommandLineClient打开,之后提示输入密码,输入刚开始安装的时候你配置的密码,出现下图表示你安装成功了 下载zip安装包的看这里:1.首先解压你下载的安装包,得到一个名为mysql…的文件夹2.把这个文件夹移动到你想安装mysql的地方,也就是你移动到的目录就是安装mysql的目录,比如我的放在C:\ProgramFiles下面3.打开我的电脑-属性-高级-环境变量,在系统变量里选择PATH,在其后面添加:你的mysqlbin文件夹的路径(如:C:\ProgramFiles\mysql-5.7.16-winx64\bin),注意是追加,不是覆盖,然后确定4.在mysql目录中新建文件夹data,还需要修改一下配置文件,mysql默认的配置文件是mysql目录中的my-default.ini,比如我的是C:\ProgramFiles\mysql-5.7.16-winx64\my-default.ini用记事本打开在其中修改或添加配置,之后保存关闭[mysqld]basedir=C:\ProgramFiles\mysql-5.7.16-winx64(mysql所在目录)datadir=C:\ProgramFiles\mysql-5.7.16-winx64\data(mysql所在目录\data) 5.以管理员身份运行cmd(一定要用管理员身份运行,不然权限不够),输入命令cdC:\ProgramFiles\mysql-5.7.16-winx64\bin 回车6.然后再输入mysqld--initialize-insecure--user=mysql回车7.之后再输入mysqldinstall回车8.输入netstartmysql回车启动mysql服务9.从上图看到mysql服务已经启动了,我们输入mysql-uroot-p回车登录mysql数据库10.要求输入密码,刚刚安装完是没有密码的,直接回车看到已经进入了mysql,我们输入showdatabases;回车可以看到数据库已经显示出来了,这个是不是比安装版的更简单目录免安装版的Mysql一:下载安装包: 二:Mysql的配置回到顶部免安装版的MysqlMySQL关是一种关系数据库管理系统,所使用的SQL语言是用于访问数据库的最常用的标准化语言,其特点为体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,在Web应用方面MySQL是最好的RDBMS(RelationalDatabaseManagementSystem:关系数据库管理系统)应用软件之一。在本博文里,我主要以Mysql免安装版为例,帮助大家解决安装与配置mysql的步骤。首先:要先进入mysql官网里(Mysql的官网--https://www.mysql.com/),下面是详细步骤:↓(为了方便大家的操作,我的网盘里有安装包:链接:https://pan.baidu.com/s/1LpslLQRNacW2-m3x6odNnQ提取码:e39z)一:下载安装包:①进入官网后,点击"Dowload",然后页面往下拉②接下来看到的页面是这样的,红色框框的链接就是mysql社区版,是免费的mysql版本,然后我们点击这个框框的链接:↓③接下来跳转到这个页面,在这里,我们只要下载社区版的Server就可以了:↓④下载免安装版(windows以外的其他系统除外)***这样,安装包就下载好了!***注意,安装的目录应当放在指定位置,,其次,绝对路径中避免出现中文,推荐首选英文为命名条件!!!!(我的为参考)二:Mysql的配置*以管理员身份打开命令行(如下图所示)①下转到mysql的bin目录下:②安装mysql的服务:mysqld--install③初始化mysql,在这里,初始化会产生一个随机密码,如下图框框所示,记住这个密码,后面会用到(mysqld--initialize--console)④开启mysql的服务(netstartmysql)⑤登录验证,mysql是否安装成功!(要注意上面产生的随机密码,不包括前面符号前面的空格,否则会登陆失败),如果和下图所示一样,则说明你的mysql已经安装成功!注意,,一定要先开启服务,不然会登陆失败,出现拒绝访问的提示符!!!修改密码:由于初始化产生的随机密码太复杂,,不便于我们登录mysql,因此,我们应当修改一个自己能记住的密码!!再次登录验证新密码:设置系统的全局变量:为了方便登录操作mysql,在这里我们设置一个全局变量:↓①点击"我的电脑"--"属性"--''高级系统设置''--''环境变量'',接下来如下图所操作②把新建的mysql变量添加到Path路径变量中,点击确定,即完成:配置完成之后,每当我们想要用命令行使用mysql时,只需要win+R,--输入"cmd"打开命令行,之后输入登录sql语句即可。③在mysql目录下创建一个ini或cnf配置文件,在这里创建的是ini配置文件,里面写的代码是mysql的一些基本配置安装版Windows下安装MySQL:1.在浏览器中打开https://www.mysql.com/,进入MySQL的官方网站,国内的网打开可能有点儿慢,稍微等待一下2.在打开的网页中选择downloads标签,如下图:3.在打开的标签页中,滑到页面的最下面,可以看到MySQLCommunityEditionCommunity(GPL)Downloads»的字样,点击Community(GPL)Downloads»,如下图:4.在之后打开的页面中,点击MySQLCommunityServer(GPL),如下图:5.在之后打开的页面中就可以看到相关的下载项了,如下图:在图中第一个红色框标注的地方就是选择操作系统,这里我们选择MicrosoftWindows,可以看到第二个红色框是Recommendeddownload,这里就要区分了,如果是新手建议点击这个,因为这个版本的MySQL不用自己配置,就是普通的安装文件,直接一路next就安装完了,如果想深入学习,那么点击Otherdownloads内容区的下载,可以看到前两个是正式版,后两个是debug版,一般选择前两个,根据自己的机器32位还是64位选择下载,下载下来是个zip文件,安装的自己配置,相对复杂6.如果选择了MySQLInstaller进去页面之后,如下:选择第二个下载项进行下载,这里不管是新手还是老手,都会要求先登录再下载,如果没有账号可以注册一个,因为现在MySQL归Oracle所有了,不得不遵循这个规矩为防止有的同学无法下载,这里贴出下载链接:MySQLInstaller5.7:http://cdn.mysql.com//Downloads/MySQLInstaller/mysql-installer-community-5.7.16.0.msiMySQL5.7Windows(x86,32-bit),ZIPArchive:http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.16-win32.zipMySQL5.7Windows(x86,64-bit),ZIPArchive:http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.16-winx64.zipMySQLInstaller只有32位的,没有64位的如果下载的是mysqlinstaller,请看这里:1.双击安装文件,可能会出现下面的画面:意思就是MySQL需要.NETFramework4.0才能继续安装,那我们就安装一下2.用浏览器打开http://www.microsoft.com/zh-cn/download/details.aspx?id=17718,点击下载,就可以很顺利的下载下来了,下载完直接安装3.点击完成,然后再双击MySQL安装文件,这次就能正常安装了~4.接下来就是一些说明协议啥的5.同意协议,打钩之后,点击next,然后出现,选择安装选项的界面,一般选择第一个就行,这个选项包含了一些MySQL其它组件,像MySQLWorkbench,MySQLforExcel等等,如果只安装MySQL数据库,选择第二项Serveronly就行,这里我选择了第一项6.点击next出现检查必需项,如果电脑安装了VC2013运行库,Excel,VisualStudio前三项就会自动打上勾,因为我是虚拟机演示的,所以没有装这些,点击next的时候会出现警告框,不去管它,直接点击是跳过7.然后出现即将要安装的软件和插件8.点击execute开始执行安装,等全部安装完之后,点击next,图中第三项表示安装失败,不去管它,是一个odbc数据源,我们一般不用这个9.之后出现配置界面10.点击next之后开始配置,第一个配置的是mysql的运行模式和网络,其中ConfigType表示运行模式,如果安装mysql是做开发用,就直接选择第一个默认的就行,第二个ServerMachine表示运行模式为服务器模式,这些模式的不同会导致MySQL占用系统资源的不同,第二个配置的是网络相关,表示链接MySQL的时候使用TCP/IP协议,并指定端口号为3306,这些如果没有特殊要求就不要去改11.配置完成之后点击next,需要填写MySQL中root用户的密码,长度最低为4位,第二栏中还可以添加普通用户,一般开发用不用再建立用户了,直接使用root就可以,所以我们填完密码之后点击next12.以下图片中需要配置的是MySQL的运行方式,第一个单选框表示是否将MySQL服务作为一个windows服务来运行,windowsservername表示MySQL服务在windowsserver中的名称,第二个单选框表示是否在系统启动时自动启动MySQL,第三个单选框表示MySQL服务以哪个账户运行,这一页的基本别动,直接next13.下面这个是关于MySQL的插件和扩展,直接next14.然后出现下面的界面,直接点击execute15.配置完之后点击finish16.然后再配置MySQL的实例,点击下图中的next17.之后点击下图中的check,然后点击next18.点击下图中的execute19.执行完毕之后点击finish,又回到了主程序,然后点击next20.然后点击下图中的finishfinally,配置完了~~~我们开始验证一下,在开始菜单找到MySQL5.7CommandLineClient打开,之后提示输入密码,输入刚开始安装的时候你配置的密码,出现下图表示你安装成功了下载zip安装包的看这里:1.首先解压你下载的安装包,得到一个名为mysql…的文件夹2.把这个文件夹移动到你想安装mysql的地方,也就是你移动到的目录就是安装mysql的目录,比如我的放在C:\ProgramFiles下面3.打开我的电脑-属性-高级-环境变量,在系统变量里选择PATH,在其后面添加:你的mysqlbin文件夹的路径(如:C:\ProgramFiles\mysql-5.7.16-winx64\bin),注意是追加,不是覆盖,然后确定4.在mysql目录中新建文件夹data,还需要修改一下配置文件,mysql默认的配置文件是mysql目录中的my-default.ini,比如我的是C:\ProgramFiles\mysql-5.7.16-winx64\my-default.ini用记事本打开在其中修改或添加配置,之后保存关闭[mysqld]basedir=C:\ProgramFiles\mysql-5.7.16-winx64(mysql所在目录)datadir=C:\ProgramFiles\mysql-5.7.16-winx64\data(mysql所在目录\data)5.以管理员身份运行cmd(一定要用管理员身份运行,不然权限不够),输入命令cdC:\ProgramFiles\mysql-5.7.16-winx64\bin回车6.然后再输入mysqld--initialize-insecure--user=mysql回车7.之后再输入mysqldinstall回车8.输入netstartmysql回车启动mysql服务9.从上图看到mysql服务已经启动了,我们输入mysql-uroot-p回车登录mysql数据库10.要求输入密码,刚刚安装完是没有密码的,直接回车看到已经进入了mysql,我们输入showdatabases;回车可以看到数据库已经显示出来了,这个是不是比安装版的更简单