odbc 経由で Hive への接続をテストするためのシンプルなアプリである azure クラウド サービス Web ロールをデプロイしようとしています。そのためには、アプリを起動する前にマシンにハイブ odbc ドライバーをインストールする必要があります。そのため、次のようにインストールするよりも、ドライバーをダウンロードするために powershell スクリプトを呼び出すスタートアップ タスクを追加しました。
スタートアップ.cmd
@echo off
powershell -command "Set-ExecutionPolicy Unrestricted" 2>> err.out
powershell .\dlHiveOdbcDriver.ps1 2>> err.out
hiveodbc.msi /passive
dlHiveOdbcDriver.ps1
(new-object system.net.webclient).downloadfile('https://download.microsoft.com/download/F/4/A/F4A2CA7D-5D14-4177-A7CE-B938EF3F3C24/HiveODBC32.msi', 'hiveodbc.msi')
私のserviceDefinitionには、スタートアップタスクを宣言する次のコードがあります
<WebRole name="SomeTest" vmsize="ExtraSmall">
<Startup>
<Task commandLine="startup.cmd" taskType="simple" executionContext="elevated" />
</Startup>
...
</WebRole>
ただし、アプリをデプロイすると、まだ次のエラーが発生します
[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
これは、ドライバーがインストールされていないことをほのめかします。アプリを再起動しようとしましたが、すべての前提条件 (ルート フォルダー内のスクリプト、常にコピー、executionPolicy など)が適用されていることを確認しましたが、役に立ちませんでした。残念ながら、オフィスの問題により、現在マシンにリモート接続できません...
どんな助けでも大歓迎です。