2012-01-24 45 views
7

Tôi đang sử dụng Liquibase (www.liquibase.org) vào dự án MVC3 SQL Server 2008 của chúng tôi để quản lý việc di chuyển/thay đổi cơ sở dữ liệu. Tuy nhiên tôi đang vấp ngã trên rào cản đầu tiên: Kết nối với Microsoft SQL Server dụ.Thiết lập Liquibase với MS-SQL Server

Tôi đang tìm kiếm vào lúc bắt đầu hướng dẫn nhanh chóng trên trang web liquibase, nhưng trao đổi mysql cho DB server sql

tôi chạy lệnh này:

liquibase --driver=sqljdbc.jar --changeLogFile="C:\Temp\ChangeLog.xml" --url="jdbc:sqlserver://localhost;databaseName=test" --username=user --password=pass migrate 

Và nhận được lỗi này:

Liquibase Update Failed: Cannot find database driver: sqljdbc.jar 

Tôi đã thử thêm --classpath trỏ tới trình điều khiển sqljdbc không có may mắn.

Làm cách nào để tạo hoặc cập nhật cơ sở dữ liệu MS-SQL Server bằng liquibase?

Trả lời

16

Tạo một tập tin thuộc tính được gọi là liquibase.properties chứa sau:

classpath=C:\\Program Files\\Microsoft SQL Server 2005 JDBC Driver\\sqljdbc_1.2\\enu\\sqljdbc.jar 
driver=com.microsoft.sqlserver.jdbc.SQLServerDriver 
url=jdbc:sqlserver://localhost:1433;databaseName=test 
username=myuser 
password=mypass 
changeLogFile=C:\\Temp\\ChangeLog.xml 

liquibase sẽ sử dụng tập tin này khi nằm trong cùng thư mục. Hữu ích để đơn giản hóa dòng lệnh.

Cơ sở dữ liệu được cập nhật như sau:

liquibase update 

Ghi chú:

  • Tôi không phải là một người sử dụng SQL server, tôi nhặt tài xế và URL chi tiết JDBC từ Microsoft doco
  • Các " di chuyển "lệnh đã không được chấp nhận.
+1

Rực rỡ. Cảm ơn Mark rất nhiều. Đã sử dụng trình điều khiển mssql jdbc 3.0 mới hơn và thêm dấu gạch chéo ngược kép vào các vị trí, ví dụ: C: \\ Program Files \\ Microsoft ...... –

+0

Rất vui được trợ giúp. Tôi đã cập nhật câu trả lời như bạn đã đề xuất –

+1

Cảm ơn rất nhiều sự giúp đỡ của bạn ... Nhưng tôi cứ tự hỏi bản thân ... làm thế nào họ không đặt loại thông tin này trên trang tài liệu? –

Các vấn đề liên quan