一、nifi连接sqlserver
nifi在linux服务器上
1.下载对应jdk版本的jdbc,下载地址:Download - JDBC Driver for SQL Server | Microsoft Learn
2.把mssql-jdbc-11.2.0jre8.jar上传jdbc到nifi服务器,如果是集群的话每个server都要上传,比如放到/opt/nifi/drivers目录
修改用户为nifi一样的用户&用户组,保证nifi有权限acess jdbc文件。可以看看nifi安装目录的owner是哪个账号
sudo chown -R nifi-user:nifi-user /opt/nifi/drivers/
3.nifi设置DBCPConnectionPool
Database Connection
URL:jdbc:sqlserver//127.0.0.1:1435;integratedSecurity=true;DatabaseName=Master;encrypt=true;trustServerCertificate=true;authenticationScheme=NTLM;
Database Driver Class Name:com.microsoft.sqlserver.jdbc.SQLServerDriver
Database Driver Location(s):/opt/nifi/drivers/mssql-jdbc-11.2.0jre8.jar
4.在processor中使用DBCPConnectionPool,比如ExecuteSQLRecord
二、遇到的错误
1."Could not initialize class xxxxxx"
同事升级了jdk,但是没有重启nifi,重启nifi就好了。
2."The login is from an untruasted domain and cannot be used with integrated authentication"
账号被锁或者密码错误,
数据库密码不能包含#号,不然会密码错误,windows验证账号密码错误多次会被锁,可能因为#{参数命}是参数语法