sql >> Databasteknik >  >> RDS >> Mysql

Hur man kör en process i Swift 3.0 med standardingång

< filename syntax är en funktion som tillhandahålls av skalet, inte något som programmen själva någonsin hanterar.

Det korrekta sättet att hantera detta är att konstruera en FileHandle för läsning från dumpFile.sql och ställ sedan in FileHandle som standardInput egenskapen för Process .

Som en sidoanteckning vet jag inte varför du använder /usr/bin/env som din startväg, eftersom du inte förlitar dig på PATH-sökning eller ställer in några miljövariabler.

let input = try FileHandle(forReadingFrom: URL(fileURLWithPath: "dumpFile.sql"))
let task = Process()
task.launchPath = "/usr/bin/mysql"
task.arguments = ["-h", "theHost", "-P", "3306", "-u", "root", "-pTheInlinePassword", "example_database"]
task.standardInput = input
task.launch()


  1. Uppdatera ett kolumnvärde och ersätt en del av en sträng

  2. SQL Server INFORMATION_SCHEMA Visningar | Se om det finns en tabell

  3. Hur får man RANDOM-poster från varje kategori i MySQL?

  4. ADODFCMP Utility