https://blog.csdn.net/N199109/article/details/78095252?locationNum=11&fps=1
1、服务端
10.18.2.2服务器
2、客户端
pi.database.dns=10.10.8.22
pi.database.datasource=10.18.2.2
pi.database.driver=com.osisoft.jdbc.Driver
pi.database.isTrustedConnection=Yes
pi.database.protocolOrder=Https/Soap:5461,NetTcp:5462
pi.database.LogConsole=True
pi.database.logLevel=0
几个注意点:
1)客户端的host文件需要加入PI服务器信息:
10.18.2.2 SHLH-MES-PIA.SHLHMES.com
10.18.2.3 SHLH-MES-PIB.SHLHMES.com
2)在客户端PI SDK上需要勾选目标PI服务器
勾选报错是因为没有添加hosts文件。
3)由于PI服务器在域控之中,故pi.database.dns字段数据应该填写客户端本机IP;
获取PI数据程序报错是由于pi.database.dns没有填写本地导致。
[PI SQL DAS NetTcp Channel] 服务器已拒绝客户端凭据。登录没有成功
4)PI服务器需要放行客户端所对应的IP。
5)查询PI服务器数据语句:
SELECT tag, time, value,status FROM piarchive..pisnapshot WHERE tag like '%GQ02:LS_1007%'
select value
from piarchive.piinterp2
where tag='test'
and time ='*'
PS:1、报错:java.sql.SQLException: The absolute path to RDSAWrapper library must be provided in the environment variable PI_RDSA_LIB64
原因:环境变量没有正确配置,致使程序报错;
排查:1)可以在cmd命令行下面 运行set pi 和 set classpath 即可查询环境变量是否设置
2)如果变量已经设置,则继续执行下一步,如果无法执行,则需要:
3)安装 pijdbc_1.5.17320.1 后自动创建环境变量即可。
2、目标计算机积极拒绝,错误代码10061
没有安装dataAccess导致;
重新安装PISQLDAS_1.5.16302.2文件即可。
(前提,需要先安装PI-OLEDB-Enterprise)
另一种解决方法:重启PI相关服务即可正常解决。其中有一个服务为暂停状态导致。
3、报错信息如下,[-10431] Authentication method is disabled by current server policy
一月 20, 2022 10:43:57 上午 com.osisoft.jdbc.ConnectionImpl
严重: Cannot connect to the data source using "Provider=PIOLEDB; Session ID=-1;Data Source=10.18.2.2; Integrated Security=SSPI;Log File= ; Time Zone=local; Always Return Rowset=false;"
一月 20, 2022 10:43:57 上午 com.osisoft.jdbc.ConnectionImpl
严重: com.osisoft.rdsa.RdsaException: [PIOLEDB] [PI SDK] Unable to open a session on a server. [-10431] Authentication method is disabled by current server policy
java.sql.SQLException: [PIOLEDB] [PI SDK] Unable to open a session on a server. [-10431] Authentication method is disabled by current server policy
经排查,为PI服务器端的权限设置有问题,重新分配下即可。