我正在尝试将TeamCity实例移动到SQL Server。我按照Setting up an External Database文档中的说明进行操作。
现在我正在浏览Migrating to an External Database并运行maintainDb命令:
.\maintainDB.cmd migrate -A c:\users\jkodroff\.buildserver -T C:\Users\jkodroff\.BuildServer\config\database.properties
我得到了这个输出:
Java executable is found: 'C:\Program Files\Java\jdk1.6.0_35\bin\java.exe'.
Using logs directory C:\TeamCity\logs
TeamCity maintenance tool. Copyright 2013 JetBrains s.r.o. All Rights Reserved.
Command line arguments: migrate -A c:\users\jkodroff\.buildserver -T C:\Users\jkodroff\.BuildServer\config\database.properties
Using TeamCity data directory: C:\Users\jkodroff\.BuildServer
Using database settings from the TeamCity data directory for source database: C:\Users\jkodroff\.BuildServer\config\database.properties
Using source database
database type: MSSQL
connection string: jdbc:jtds:sqlserver://localhost:1433/teamcity
Cannot proceed with 'migrate' command: A driver for the source database not found. Please ensure you have driver jars in C:\Users\jkodroff\.BuildServer\lib\jdbc.
Critical error has occurred during command execution.
我已经确认sqljdbc.jar
和sqljdbc4.jar
都在指定的目录中,那么是什么给出了?
答案 0 :(得分:8)
您拥有sqljdbc.jar
和sqljdbc4.jar
这一事实表明您使用的是Microsoft SQL Server JDBC驱动程序,但连接字符串适用于jTDS驱动程序。确保使用correct connection string作为Microsoft SQL Server JDBC或使用jTDS JDBC driver代替。
第二:您应该使用sqljdbc.jar
(适用于Java 5)或sqljdbc4.jar
(适用于Java 6及更高版本),而不是两者都使用;加载两者可能会因类加载命令等而导致意外行为!