ノーコードでクラウド上のデータとの連携を実現。
詳細はこちら →30日間の無償トライアル
無償トライアルはこちら製品の詳細
.NET アプリケーションからリモートファイルやディレクトリに簡単にアクセス。
加藤龍彦
ウェブデベロッパー
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
CData ADO.NET Provider for SFTP は、ADO.NET 標準インターフェースへ統合し、PowerShell のような. NET アプリケーションからSFTP API へのデータ連携を可能にします。このプロバイダーは、SFTP の認証および相互作用を簡単にします。このチュートリアルでは、PowerShell から直接SQL クエリを実行するための、いくつかの一般的なADO.NET オブジェクトの使い方を説明します。
次の3つのステップに従って create、read、update、およびdelete (CRUD) のデータ連携コマンドを PowerShell からリアルタイムSFTP に実行:
プロバイダーのアセンブリをロード:
[Reflection.Assembly]::LoadFile("C:\Program Files\CData\CData ADO.NET Provider for SFTP\lib\System.Data.CData.SFTP.dll")
SFTP に接続:
FTP は、SFTP プロトコルを使用してSFTP サーバーとの間のファイル転送を行います。接続するにはRemoteHost を指定します。FTP はUser、Password、および公開鍵認証(SSHClientCert)を使用します。 SSHAuthMode を選択し、選択に基づいて接続値を指定します。
次の接続プロパティを設定し、ファイルシステムのリレーショナルビューをコントロールします。
$constr = "RemoteHost=MyFTPServer;"
$conn= New-Object System.Data.CData.SFTP.SFTPConnection($constr)
$conn.Open()
SFTPDataAdapter のインスタンスを生成してSQL クエリを実行し、結果を出力:
$sql="SELECT Filesize, Filename from MyDirectory"
$da= New-Object System.Data.CData.SFTP.SFTPDataAdapter($sql, $conn)
$dt= New-Object System.Data.DataTable
$da.Fill($dt)
$dt.Rows | foreach { Write-Host $_.filesize $_.filename }
$cmd = New-Object System.Data.CData.SFTPCommand("UPDATE MyDirectory SET FilePath='/documents/doc.txt' WHERE Id = @myId", $conn)
$cmd.Parameters.Add(new System.Data.CData.SFTPParameter("myId","10456255-0015501366"))
$cmd.ExecuteNonQuery()
$cmd = New-Object System.Data.CData.SFTPCommand("UPDATE MyDirectory SET FilePath='/documents/doc.txt' WHERE Id = @myId", $conn)
$cmd.Parameters.Add(new System.Data.CData.SFTPParameter("myId","10456255-0015501366"))
$cmd.ExecuteNonQuery()
$cmd = New-Object System.Data.CData.SFTPCommand("UPDATE MyDirectory SET FilePath='/documents/doc.txt' WHERE Id = @myId", $conn)
$cmd.Parameters.Add(new System.Data.CData.SFTPParameter("myId","10456255-0015501366"))
$cmd.ExecuteNonQuery()
CodeProject