迁移到TeamCity中的SQL Server:找不到源数据库的驱动程序

时间:2014-03-06 16:04:15

标签: sql-server jdbc teamcity

我正在尝试将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.jarsqljdbc4.jar都在指定的目录中,那么是什么给出了?

1 个答案:

答案 0 :(得分:8)

您拥有sqljdbc.jarsqljdbc4.jar这一事实表明您使用的是Microsoft SQL Server JDBC驱动程序,但连接字符串适用于jTDS驱动程序。确保使用correct connection string作为Microsoft SQL Server JDBC或使用jTDS JDBC driver代替。

第二:您应该使用sqljdbc.jar(适用于Java 5)或sqljdbc4.jar(适用于Java 6及更高版本),而不是两者都使用;加载两者可能会因类加载命令等而导致意外行为!