为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:8
【操作系统】:win11
【CPU】:
【问题描述】*:我们公司使用.netcore3.1版本,使用Nhibernate也是3.1版本。引用DmDialect.dll和DmProvider.dll,但客户使用过程中,总是报60001网络通讯失败错误。【若使用DM.DmProvider.dll-v8.3.1.37876,DmDialect的代码中,是直接指定public DmDriver() : base("Dm", "DmProvider, Version=1.1.0.0, Culture=neutral, PublicKeyToken=7a2d44aa446c6d01", "Dm.DmConnection", "Dm.DmCommand"),启动异常】
错误描述: Could not open Hibernate Session for transaction,Message:6001,Communication error ,StackTrace: at Dm.DmError.ThrowDmException(Int32 code) at Dm.DmCsi.Communicate(DmMsg SendMsg, DmMsg RecvMsg, Int32 socketTimeout) at Dm.DmCsi.PrepareSql(DmMsg SendMsg, DmMsg RecvMsg, DmStatement stmt, String sql, Boolean direct, Int32 checkFlag) at Dm.DmStatement.ExecuteUpdate(String sql) at Dm.DmCommand.do_ExecuteNonQuery() at Dm.util.DriverUtil.executeNonQuery(DmConnection conn, String sql, DmParameter[] parameters) at Spring.Data.NHibernate.LocalSessionFactoryObject.DbProviderWrapper.GetConnection() at NHibernate.AdoNet.ConnectionManager.GetConnection() at NHibernate.Impl.AbstractSessionImpl.get_Connection() at Spring.Data.NHibernate.HibernateTransactionManager.DoBegin(Object transaction, ITransactionDefinition definition) 6001,Communication error
建议找对接的达梦工程师,获取最新的.net驱动

建议检查一下数据库连接参数配置是否正确(主要是IP和端口),如果配置正确,也检查一下应用服务器是否可以连通数据库服务端口,可以用telnet测试端口或者直接在应用这台服务器上用达梦客户端连接数据库测试,如果不通则检查一下网络或防火墙方面