为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:8
【操作系统】:redhat7
【CPU】:
【问题描述】:调用dm_connect返回-70028错误
代码:
<?php
/ 连接选择数据库 */
$link = dm_connect(“local:25236”, “SYSDBA”, “SYSDBA”)
or die(“Could not connect : " . dm_error().” errmsg:".dm_errormsg());
print “Connected successfully”;
/* 执行 SQL 查询 /
$query = " INSERT INTO production.product(name,author,publisher,publishtime,
product_subcategoryid,productno,satetystocklevel,originalprice,nowprice,
discount,description,photo,sellstarttime)
VALUES(‘三国演义’,‘罗贯中’,‘中华书局’,‘2005-04-01’,‘4’,‘9787101046121’,‘10’,
‘19.0000’,‘15.2000’,‘8.0’,‘《三国演义》是中国第一部长篇章回体小说!’,null,‘2006-03-20’)";
$result = dm_query($query) or die("Query failed : " . dm_error());
/ 释放资源 /
dm_free_result($result);
/ 断开连接 */
dm_close($link);
?>
端口我改成了25236,disql SYSDBA/SYSDBA@local登入正常,WINDOWS远程登入正常,求问为什么出现创建socket失败的问题?
端口改了后数据库重启没有?你这里写的disql SYSDBA/SYSDBA@local 是用的默认端口
Red Hat Enterprise Linux Server release 7.8 (Maipo)
DmServiceNcDm.log和dm_NCDM_202105.log,其他log没更新就不发了
把local换成localhost试试。
现在我还发现直接php执行文件,是connect成功的!现在我猜测是不是因为环境变量有问题所致!对于我修改过的环境变量文件,我都截图出来,没改的我不就截了:
感谢达梦-王涛技术支持,原来是SELinux限制了httpd对外访问的权限。将其开启即可
setsebool -P httpd_can_network_connect=1
看一下服务器的防火墙是否关闭