我試圖編寫一個shell腳本,在調用時使用dbaccess命令行工具從表中提取數據。使用dbaccess以不同的用戶身份登錄到Informix
echo "unload to data.csv delimiter '|' select * from tbl_extract;" | time dbaccess $database_name;
現在,當我運行這個,它運行我自己的帳戶。 Dbaccess似乎使用登錄的Unix帳戶登錄到數據庫。但我希望這可以在不同的帳戶下運行。如何讓dbaccess接受用戶名和密碼來使用其他帳戶?
由於我試圖創建一個自動化的工作,有沒有其他的爲什麼要避免得到提示輸入密碼? – nJoshi
否;無法使用DB-Access來避免提示。 SQLCMD確實提供了這樣一種機制。它要求你有ESQL/C(ClientSDK的一部分,通常不是問題)和一個C編譯器,但是(應該是)以其他方式直接安裝。它有一個Unix自動配置腳本來完成繁重的工作。如果您使用的是Windows環境,那麼情況就會變得更加嚴峻 - 我最近沒有將SQLCMD移植到Windows上(十多年前,現在我已經做到了這一點)。你可以試試['expect'](http://expect.sourceforge.net/);它將能夠以編程方式驅動DB-Access。 –