我想從我的Scala代碼連接到SQL Server數據庫,但我得到'沒有找到合適的驅動程序'異常。我的Scala代碼如下:從Scala連接到SQL Server數據庫的問題
import java.sql.{Connection, DriverManager, ResultSet}
val conn = DriverManager.getConnection("jdbc:sqlserver://hostname:port/DBName?user=myusername&password=mypassword")
try {
val statement = conn.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY)
val rs = statement.executeQuery("select * from SomeTableName")
while(rs.next()) {
println(rs.getInt("CustomerID"))
}
}
catch {
case e => e.printStackTrace()
}
finally {
conn.close()
}
我然後跑以下命令:
scala -cp /usr/lib/jtds-1.2.5.jar dbprog.scala
我一直在使用JDBC的JAR由微軟sqljdbc.jar
和sqljdbc4.jar
提供SQL Server還嘗試了。
及以下的堆棧跟蹤我得到:
java.sql.SQLException: No suitable driver found for jdbc:sqlserver://hostname:port/DBName?user=myusername&password=mypassword
at java.sql.DriverManager.getConnection(DriverManager.java:602)
at java.sql.DriverManager.getConnection(DriverManager.java:207)
at Main$$anon$1.<init>((virtual file):8)
at Main$.main((virtual file):4)
at Main.main((virtual file))
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at scala.tools.nsc.ObjectRunner$$anonfun$run$1.apply(ObjectRunner.scala:75)
at scala.tools.nsc.ObjectRunner$.withContextClassLoader(ObjectRunner.scala:49)
at scala.tools.nsc.ObjectRunner$.run(ObjectRunner.scala:74)
at scala.tools.nsc.ScriptRunner$.scala$tools$nsc$ScriptRunner$$runCompiled(ScriptRunner.scala:381)
at scala.tools.nsc.ScriptRunner$$anonfun$runScript$1.apply(ScriptRunner.scala:414)
at scala.tools.nsc.ScriptRunner$$anonfun$runScript$1.apply(ScriptRunner.scala:413)
at scala.tools.nsc.ScriptRunner$.withCompiledScript(ScriptRunner.scala:351)
at scala.tools.nsc.ScriptRunner$.runScript(ScriptRunner.scala:413)
at scala.tools.nsc.MainGenericRunner$.main(MainGenericRunner.scala:168)
at scala.tools.nsc.MainGenericRunner.main(MainGenericRunner.scala)
什麼我做錯了,我該如何解決呢?
你有沒有獲得連接,使用DriverManager.registerDriver(jtdsDriverInstance)嘗試過手動註冊驅動 – Luciano