Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Teradata MLoad脚本中隐藏登录密码_Teradata_Mload - Fatal编程技术网

如何在Teradata MLoad脚本中隐藏登录密码

如何在Teradata MLoad脚本中隐藏登录密码,teradata,mload,Teradata,Mload,我编写了一个多加载脚本来加载TeraData数据库中的数据,脚本中的命令如下: .LOGTABLE Employee_log; .LOGON 192.168.1.1/dbc,dbc; .BEGIN MLOAD TABLES Employee_Stg; .LAYOUT Employee; .FIELD in_EmployeeNo * VARCHAR(10); .FIELD in_FirstName * VARCHAR(30); .... 但密码在脚本中清晰可见。是否有一个选项来

我编写了一个多加载脚本来加载TeraData数据库中的数据,脚本中的命令如下:

.LOGTABLE Employee_log;  
.LOGON 192.168.1.1/dbc,dbc; 
.BEGIN MLOAD TABLES Employee_Stg;  
.LAYOUT Employee;  
.FIELD in_EmployeeNo * VARCHAR(10);  
.FIELD in_FirstName * VARCHAR(30); ....

但密码在脚本中清晰可见。是否有一个选项来保护密码或任何其他登录方式/命令,然后运行脚本。

您可以创建一个登录文件,并使用以下命令在MLOAD脚本中运行它
。运行文件logonfile.txt


在登录文件中,您可以提供脚本
中使用的语句。logon 192.168.1.1/dbc,dbc

限制对logonfile.txt的访问,尽管只有用户可以读取它

chmod go-rwx logonfile.txt
或者用你的钱包

.LOGON 192.168.1.1/dbc,$tdwallet(dbc)
tdwallet将条目安全地保存在远处,只能通过登录命令进行访问。
没有函数可以获取明文中的条目。

我相信是用于此目的的,尽管我从未使用过它。但密码仍然存储在文本文件中。如果您在prod系统中执行此文件,则很有可能发生安全漏洞。所以我问有没有其他方法可以直接执行logon命令,然后执行这个脚本。您可以限制对存储登录文件的目录的访问。。这就是我们在生产系统中的工作方式。您可以将tdwallet字符串放入您的登录文件中。因此,即使用户有权访问登录文件,他也不能在本地计算机上使用它。我的加载文件是由Java程序生成的。我还需要使用相同的/diff Java程序将密码放入tdwallet。但当我尝试使用Java在tdwallet中添加项目时,它没有运行。您对此有什么解决方案吗?通过命令行
tdwallet add
向tdwallet添加条目(密码),然后请求终端输入。不能将管道或参数用于密码输入。唯一的选择是
expect
(我不知道有什么java等价物)。