用友T+下载后连不上数据库,八成是这一步忘了做

用友下载 ·
用友T+下载后连不上数据库,八成是这一步忘了做

下载后的第一坑:默认端口被占

用友T+这个软件,我头一回装的时候,光下载就折腾了两回。第一次点本页下载按钮,下完安装包双击装好,兴冲冲打开客户端,结果提示“无法连接数据库服务器”。心里咯噔一下,以为是安装包有问题,又去重新下了一遍,装完还是一个样。后来才搞明白,问题出在端口上。T+默认用的是1433端口,这哥们是SQL Server的老端口,很多公司服务器上之前装过其他ERP或者数据库软件,早就把这端口占用了。当时我查了半天,在运行窗口敲netstat -ano,一看1433已经被一个叫“msdtc”的进程占着——这玩意儿是Windows分布式事务协调器,默认就开着。解决办法其实很简单:装数据库的时候,把SQL Server的端口改掉就行。比如改成14333或者别的数字,别跟别人撞车。改了之后,T+的服务配置里也要对应上这个端口,这一步很多教程都没提,新手容易忽略。

官方正版安装包带数字签名高速下载多线程·稳定不限速安全纯净无广告·无捆绑

数据库实例名:弄错了连到天荒地老

除了端口,还有个更隐蔽的坑是数据库实例名。T+安装包下完后,装SQL Server的时候,如果你用的是默认实例,那名字就写“MSSQLSERVER”之类的东西。可有的人图省事,装了个命名实例,比如“T+DB”或者“T3_2020”,结果在T+的数据库配置界面里,顺手填了个“localhost”就点确定了。这肯定连不上,因为程序根本不知道你的实例名叫啥。我有个朋友就是在这上面卡了两天,最后发现他装的SQL Server叫“MSSQLSERVER”,但他填的服务器地址是“localhost\T+DB”,不匹配。正确做法是:装完SQL Server后,打开SQL Server配置管理器,看看实例名是什么,然后在T+的数据库设置里填“机器名\实例名”或者“IP地址\实例名”。本地测试的话,用“.\实例名”也行,那个点代表本机。另外,如果你拿不准,干脆用“localhost”加默认实例,但前提是你装的的确是默认实例。

防火墙和杀毒软件:背后的黑手

数据库设置看起来都没问题,端口也对,实例名也填对了,但连接还是报错。这时候八成是防火墙在捣乱。我遇到过好几次,公司电脑上装的企业版杀毒软件,自带网络防护,直接拦了T+数据库的通信端口。Windows防火墙默认会弹个提示问你要不要允许程序通过,但如果你手快点了“否”,或者杀毒软件静默拦截了,那数据库就连不上。解决方法不复杂:去控制面板的防火墙设置里,手动添加入站规则,开放你设定的那个端口(比如14333)。杀毒软件的话,可以在它的防火墙白名单里,把T+的服务程序加进去,T+的服务程序一般是“U8SoftService.exe”或者类似的名称,具体看你装的版本。还有一个细节:别忘了检查数据库本身的防火墙配置。SQL Server自带的某版之后的安装包,默认会启用的“SQL Server Browser”服务也需要放行,这个服务负责广播数据库实例名,关掉的话,客户端用实例名连的时候可能找不到。

SQL Server 的认证模式:选错了白忙

T+连接数据库,认证模式得选对,不然下载安装再多次也白搭。T+一般用“SQL Server认证”而不是“Windows认证”,因为T+的服务程序是用系统账户跑的,如果用Windows认证,可能权限不够。我第一次装的时候,SQL Server装完默认是Windows认证模式,我直接装T+,连的时候它自动用sa账户去试,结果sa账户默认是禁用状态。后来在SQL Server Management Studio里检查,发现sa用户的属性里“登录”选项是“禁用”,难怪连不上。解决步骤:装SQL Server时,记得选择“混合模式”,然后给sa设个强密码,最好记下来。如果已经装完了,可以进Management Studio,右键服务器属性,在安全性页里改成“SQL Server和Windows认证模式”,再启用sa账户并改密码。改完密码后,T+的数据库配置里用sa加上这个新密码登录就行。还有一种情况:有的公司IT图省事,装完SQL Server后不看日志,其实安装过程可能提示你sa密码复杂度不够,但跳过了,等你用的时候才报错。所以密码最好别用“123456”,SQL Server对密码强度有要求。

T+ 服务配置界面:填错一个字符都完蛋

下载好T+安装包后,装完会弹出一个服务配置界面,让你填数据库地址、用户名、密码。这个地方最容易出错。我第一次填的时候,复制黏贴了数据库地址,结果末尾多了个空格,T+的配置文件读取时直接当作字符串一部分,连不上。还有一次,数据库密码里有个特殊符号“&”,T+在解析配置文件时把它当成了变量分隔符,导致连接失败。所以关键技巧:所有信息手打输入,别复制;密码里尽量别用特殊符号,如果非要用,记得在T+里用转义写法,但一般不建议。还有个小坑:数据库地址如果填“localhost”,有时候T+解析会慢,尤其是在服务器名称解析有问题的情况下。建议直接填“127.0.0.1”或者本机的真实IP地址——比如192.168.x.x。填IP还有一个好处:后续如果其他客户端要连这个服务器,也方便。另外,别大意点了“测试连接”按钮,它有时候显示成功,但实际运行起来还是报错,因为测试用的连接参数和真正运行时的不完全一样。最稳妥的办法是,配置完后,先停掉T+服务再启动,看日志里有没有报错。

日志文件里的线索:仔细看一眼就省三天

连不上数据库的时候,很多人只会盯着T+客户端的错误弹窗看,弹窗就一句话“连接失败”,毛用没有。真正有用的东西在T+服务程序的日志文件里。T+安装目录下,一般有个Logs文件夹,或者叫Ufida.Logs,里面每天会生成文本文件,命名类似“2024-01-15.log”。直接打开看,搜索“error”或者“fail”,能发现具体报错。比如我上次检查日志,看到一行“login failed for user ‘sa’. Reason: An error occurred while attempting to change the password.” 这就告诉我,不是连接问题,而是sa账户密码策略触发了修改。查了下,原来是服务器安全策略要求密码每30天改一次,sa密码过期了。解决办法:在SQL Server里把sa密码修改掉,然后更新T+配置。日志文件还能帮你定位端口冲突:如果日志里出现“Cannot open user default database. Login failed.”,那就可能是数据库文件损坏或者权限问题。所以别嫌麻烦,遇到问题先把日志翻一翻,比瞎猜强100倍。

清理旧版本残留:别让安装包自己打架

最后一个坑,是系统里之前装过别的用友产品,比如T3或者U8,这些玩意儿卸载不干净,会残留一些数据库配置、服务项或者注册表键值。你新装T+的时候,这些东西可能会干扰。我就碰到过一台电脑,以前装过T3,卸载后注册表里还留着“HKEY_LOCAL_MACHINE\SOFTWARE\Ufsoft”之类的键值,T+安装时自动读取了旧配置,导致它去连不存在的数据库。解决方案:下载安装包之前,先彻底清理旧版本。用控制面板卸载程序,然后手动删掉C盘的两个目录:一个是“C:\Program Files (x86)\Ufsoft”,另一个是SQL Server的数据目录(默认在C:\Program Files\Microsoft SQL Server)。注册表也进去清扫一下,搜索“Ufsoft”、“Yonyou”、“T+”、“U8”这些关键词,把相关项删掉。嫌麻烦的话,可以下个专用卸载工具,比如用友自带的那个清理脚本,但我不确定版本号,你可以在安装包里的“Uninstall”文件夹里找找。注意:清理前备份好你的账套数据,别把数据库文件也删没了。