用友T+下载后配置出错怎么办?我换了个思路才跑通
下载与安装步骤
早先我在官网没找到直接的T+下载入口,就跑到用友下载站上找安装包。这个站看着挺正规,搜索结果也靠前,点进去之后一堆版本列表,什么T+13.0、T+12.3、T+专属云,我选了最新的那个点本页下载按钮。下载下来是个1.5G左右的压缩包,解压后有个setup.exe,双击后就弹出来安装向导。安装过程其实不算复杂,默认路径是C盘,我习惯改到D盘专门建个用友T+的文件夹,免得系统盘爆了麻烦。安装向导里会让你选安装哪些组件,比如数据库、应用服务器、Web服务,我一开始全选了,结果装到一半卡在数据库配置那一步。后来发现其实可以分开装:先在服务器上装好SQL Server,再用安装向导单独装应用和Web模块,这样不容易冲突。安装完重启机器,桌面会出现T+的快捷方式,点开是浏览器登录界面,默认地址是http://localhost:8080/tplus,本地测试用够了。如果你是64位系统,记得安装前确认下运行库补丁齐全,否则装完后可能报缺少dll的错误,我就在这一步折腾了半小时。
那会儿我装完T+后满怀期待地打开浏览器,结果页面一直转圈,最后提示无法访问。查了下服务列表,发现用友T+的服务根本没启动,手动启动后又马上停止,日志里写着数据库连接失败。一开始我以为是SQL Server没装对,重装了两次,甚至换了2012和2016两个版本,问题照旧。后来研究日志才意识到,不是数据库装没装好的事,是安装时自动生成的配置文件和实际环境对不上号。比如数据库实例名,我装的是SQL Server默认实例MSSQLSERVER,但T+配置里写的是localhost\SQLEXPRESS,两个名字不匹配,服务自然起不来。还有一个容易忽略的地方是防火墙,本地测试时我倒没遇到端口不通的情况,但如果你公司服务器上装,很可能80或8080端口被占用了。解决办法就是改下配置,在安装目录下的config文件夹里找database.config文件,把数据库实例名改成实际的,顺便确认下端口号是不是被IIS或别的服务占了,然后重启服务。还有一回我遇到问题是.NET Framework版本太旧,T+需要4.7.2以上,我那个服务器才4.5,装个更新包就好了。
数据库连接的配置要点
配置数据库连接这件事,我头回接触时觉得好简单,不就是填个服务器地址、用户名、密码嘛。但实际踩进去才知道坑多,而且每个坑都能让你折腾半天。先说服务器地址,本地用的话填localhost或者127.0.0.1就行,远程就得写完整的IP或者域名。但有个细节,如果SQL Server装的是命名实例,你就要写成localhost\实例名这种格式,比如我公司数据库实例叫TPlusServer,那地址就是localhost\TPlusServer。端口默认是1433,但如果你改过端口或者装了多个实例,每个实例的端口可能不一样,这时需要在地址后面加逗号写端口,比如localhost,14330。用户名密码这块,T+推荐你用SQL Server验证,而不是Windows集成验证,因为服务跑在应用池里可能没权限。密码不要用太复杂的符号组合,否则后面写脚本或者批量导入数据时容易转义出错,我就吃过这个亏,写了个含%号的密码,结果配置文件里解析失败。另外,如果你用远程数据库,记得在SQL Server管理工具里启用TCP/IP协议,并且把远程连接打开,默认是禁用的,我当初查了三天才找到这个原因。
实际操作时,我建议你在安装前先建好一个空的数据库,名字别用中文,最好全小写英文加下划线,比如tplus_data。然后在T+安装向导的数据库配置页填好信息,下一步它会自动建表。如果安装后想改数据库连接,可以重新运行安装目录下的配置工具DBConfig.exe,它会扫描已有数据库,让你重新指定连接串。注意,改完配置后不仅要重启T+服务,还要清一下浏览器缓存,否则登录时可能报“数据库版本不匹配”这种蛋疼错误。还有一个个人习惯:我每次改完配置,都会先用SQL Server Management Studio手动连下数据库验证凭据对不对,再去看T+能否启动,这样能快速排除是DB问题还是应用问题。
服务启动失败与端口占用
T+服务启动失败这个问题,几乎每个刚上手的人都会碰上,而且原因五花八门。最常见的是端口被占用,尤其在公司环境下,IIS默认占用了80端口,而T+也需要用80端口来跑Web应用。这时要么停掉IIS,要么改T+的监听端口。改端口很简单,在T+安装目录下的conf\server.xml里找到Connector那一行,把port属性改成别的,比如8088,然后重启服务。但改了端口之后,所有客户端访问地址都得跟着变,还得通知用户,挺麻烦的。另一个原因是系统账户权限不够,T+服务默认用的是Network Service账户,有时访问数据库文件或日志目录时被拒绝,报一堆权限错误。处理方法是在服务管理器里找到用友T+服务,右键属性,切换到登录选项卡,改成本地系统账户或者用有管理员权限的域账户,然后重启。我试过一次改了本地系统账户,服务瞬间跑起来了,但后来因为安全要求又改回来,折腾好几次。
还有一个情况是日志文件满了。T+的服务日志默认保存在安装目录下的logs文件夹里,常年不清理,一个文件能撑到几G,导致服务启动时读取太慢甚至崩溃。我遇到过一个客户,服务器上日志文件夹有10G,T+服务启动要整整十分钟,而且经常超时停止。解决办法是定期清理,或者修改log4net配置,把日志级别从debug改成info,减少写入量。如果你嫌手动清理麻烦,可以写个批处理定时删除三天前的日志。服务启动成功后,建议你先在浏览器里跑一下功能,比如做张采购单,看有没有报错。如果一切正常,再把客户端部署给用户用,否则后面出问题排查起来很被动。
系统环境兼容性
T+这个东西对环境挺敏感的,特别是操作系统和数据库版本。我最早在Windows Server 2012 R2上装的T+13.0,数据库用SQL Server 2014,跑了一年没啥问题。后来换成Windows Server 2019,装同版本T+时各种报错,像什么“无法打开COM组件”“ActiveX控件失败”。查了资料才知道,T+有部分功能依赖旧版的IE控件,而Server 2019默认没有启用IE增强的安全配置,而且.net组件也有差异。解决办法是把服务器角色里的桌面体验和.NET Framework 3.5组件加上,然后关闭IE增强安全配置(控制面板里可以调)。如果你是Win10或Win11桌面系统装机,记得把用户账户控制降到最低,否则装到一半会弹窗要求权限,然后卡住。还有浏览器兼容问题,T+客户端只支持IE11或360浏览器兼容模式,用Chrome或Edge的话,部分界面交互会失灵,比如选择单据日期时点击没反应。好多用户以为是自己机器有问题,其实是浏览器不支持。我一般直接给用户装360企业版,然后把T+网址加入兼容模式白名单,省心。
另外要注意的是杀毒软件。我公司装的是某知名杀软,T+安装时被它拦截了关键的数据库连接驱动,导致安装完成后无法创建账套。关闭实时防护后重装就好了,但之后每次重启杀毒又会把那个驱动隔离掉。我的做法是把T+的整个安装目录和SQL Server的目录都加到杀毒白名单里,再没出过问题。如果用的是Windows Defender,也建议在排除项里加上这两个路径。
客户端登录与远程访问
安装完服务器后,客户端登录又是另一个战场。局域网内访问,直接输服务器IP加端口就行,比如http://192.168.1.100:8080/tplus。但有时就是连不上,原因基本是三种:防火墙没放行端口、服务器上T+服务没启动、客户端和服务器时间相差太大导致认证失败。防火墙解决最容易,在服务器上新建入站规则,开放你用到的端口(默认8080或80),同时放行TCP 1433端口用于数据库远程访问的话。时间不同步这个坑我碰到过一次:两个人异地登录同一个T+,结果一个能进一个不能,后来发现那个进不去的机器系统时间比服务器晚了半小时,改成自动同步时间后就好了。远程访问就比较麻烦,要公网IP或内网穿透。小企业通常用NAT映射,在路由器上做端口转发,映射到内网服务器的8080端口。但这样安全性不好,我建议再加一层VPN,像OpenVPN或者蒲公英那种硬件盒子,远程用户先连VPN再到内网访问T+。
浏览器登录时会提示安装一个控件,用来支持打印和凭证预览,不少新手以为是什么病毒就跳过了,导致打印功能不能用。这个控件确实是用友自己的,叫UnionWebControl,安装完要重启浏览器。如果你在Mac或Linux上访问T+,这个控件装不上,打印和预览功能就残了,所以最好还是用Windows。还有个技巧:登录页面有时加载很慢,尤其是第一次,可以清一下浏览器缓存和临时文件,有时是因为旧版本缓存冲突。我在公司部署时,还专门给每个员工建了个快捷方式,指向T+首页,参数加个-no-check-update,跳过检查更新,速度快很多。
账套创建与数据迁移
T+装好了也能登录了,头件事就是建账套。在系统管理里点击账套管理,新建,然后填账套号、名称、启用期间这些信息。坑点来了:账套启用期间一旦确定,后面改不了,比如你1月建的账套但是启用期间选了2月,那1月的业务就录不进去。所以我习惯先跟会计确认年度账的启用月份,一般是1月1日。还要选会计制度,小企业用2007新会计准则就行,别选什么2013小企业,否则后面报表模板对不上,出表时数据对不上号。数据迁移也常见,有的公司之前用别的软件,要把旧数据导入T+。官方有个导入工具,叫用友数据迁移助手,支持从金蝶、速达等系统导入基础资料和凭证,但说实话效果有限,很多字段映射不对,像客户分类、存货编码这些,导入后经常乱掉。我的经验是先迁移基础档案,比如科目、客户、供应商、存货,用Excel模板分批导入,每批次不要超过5000条,否则容易超时失败。凭证和业务单据我情愿手工录入,或者用T+自带的导入功能,一次导入100条以内,分月分批来,宁可慢点也不出错。
如果是从老版本T+升级,比如T+12.3升到13.0,系统有专门的升级工具。但升级前一定要先备份账套,在系统管理里点备份,把生成的.BAK文件存到安全的地方。我就有一次升级到一半断电,账套坏了,还原备份时才发现备份文件也损坏了,因为之前备份时数据库还在占用状态。后来我都是先停掉T+服务和SQL Server服务,再手动复制MDF和LDF文件出来,双重保险。
维护技巧与备份策略
T+用久了,维护就变成日常。我最怕的就是账套数据越来越大,动不动就几十G,查询报表慢得要死。解决办法是定期重建索引和更新统计信息,在SQL Server管理工具里写个脚本跑一下,节奏我定在每周末凌晨2点,用Windows计划任务执行。还有一个常见问题:用户反映系统卡顿,特别在做单据选择存货时,下拉列表要等十秒钟。这种通常是内存不足,T+应用服务器至少得8G内存,如果是带几十个用户的并发场景,16G都勉强。我公司的服务器后来加到了32G,把T+的Java堆内存也从默认的512M调到了2G,在tomcat的catalina.bat里加一句JAVA_OPTS=-Xms2g -Xmx4g,重启后效果很明显。
备份策略这块,我犯过很多次懒,结果只能后悔。最简单的方法是用T+自带的备份计划,在系统管理里设置每天凌晨自动备份,保留最近7天的备份文件,存到另一个硬盘上。但注意,自动备份只能备份账套数据,不能备份附件、模板这些文件,所以还得手动备份整个安装目录下的AppServ\logs和AppServ\web\webroot\upload这个文件夹。更保险的做法是再做一个数据库级别的异地备份,比如用SQL Server的维护计划把数据库备份到NAS或云存储,然后写个脚本每天凌晨把备份文件上传到OSS或者FTP。我去年就是这么干的,有一次服务器硬盘坏了,直接从云端拉下来恢复,只丢了半天数据,算是损失最小的例子。如果你有条件,强烈建议做双机热备或者AlwaysOn,但中小企业大多预算有限,至少做到备份文件不放在同个物理硬盘上。最后一个小提醒:定期检查硬盘剩余空间,至少留出20%的空闲,否则T+写日志和备份时撑爆空间,服务直接挂掉,而且恢复起来很麻烦。我每个月第一周都花十分钟检查下服务器状态,比事后救火省心一百倍。