Tôi đang thử nghiệm mã bên dưới, thực hiện truy vấn cơ sở dữ liệu cơ bản. Nó hoạt động tốt khi tôi chạy nó từ CLI bằng "scala dbtest.scala", nhưng mang lại cho tôi biên dịch lỗi khi tôi cố gắng để biên dịch nó với scalac:Chương trình hoạt động khi chạy với scala, nhận lỗi biên dịch khi cố biên dịch bằng scalac
[[email protected] pybackup]$ scalac dbtest.scala dbtest.scala:5: error: expected class or object definition val conn_str = "jdbc:mysql://localhost:3306/svn?user=svn&password=svn" ^ dbtest.scala:8: error: expected class or object definition classOf[com.mysql.jdbc.Driver] ^ dbtest.scala:11: error: expected class or object definition val conn = DriverManager.getConnection(conn_str) ^ dbtest.scala:12: error: expected class or object definition try { ^ four errors found
import java.sql.{Connection, DriverManager, ResultSet};
import java.util.Date
// Change to Your Database Config
val conn_str = "jdbc:mysql://localhost:3306/svn?user=xx&password=xx"
// Load the driver
classOf[com.mysql.jdbc.Driver]
// Setup the connection
val conn = DriverManager.getConnection(conn_str)
try {
// Configure to be Read Only
val statement = conn.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY)
// Execute Query
val rs = statement.executeQuery("SELECT * FROM backup")
// Iterate Over ResultSet
var svnFiles = Set[String]()
while (rs.next) {
val repos = rs.getString("repos")
val lm = rs.getDate("lastModified")
val lb = rs.getDate("lastBackedup")
if (lm.getTime() > lb.getTime()) {
println(repos + " needs backing up")
svnFiles += repos
}
else {
println(repos + " doesn't need backing up")
}
}
println(svnFiles)
}
finally {
conn.close
}
OK, nhưng pháp lý để chạy mã như tôi có nó giống như tập lệnh thông qua dòng lệnh scala? Nó hoạt động từ CLI –
Có, như một tập lệnh, Scala không yêu cầu một thùng chứa cấp cao nhất. –
Ngoài ra, lời nhắc từ '' 'scala -help''':' '' Tất cả các tùy chọn cho scalac (xem scalac -help) cũng được cho phép .''' Vì vậy, hãy tiếp tục và chạy nó với một cái gì đó như '' 'scala - tối ưu hóa dbtest.scala''' – opyate