GoGPT Best VPN GoSearch

Biểu tượng yêu thích OnWorks

odb - Trực tuyến trên đám mây

Chạy odb trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks trên Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS

Đây là lệnh odb có thể được chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình giả lập trực tuyến MAC OS

CHƯƠNG TRÌNH:

TÊN


odb - trình biên dịch ánh xạ quan hệ đối tượng (ORM) cho C ++

SYNOPSIS


ODB [ lựa chọn ] hồ sơ [ tập tin... ]

MÔ TẢ


Đưa ra một tập hợp các lớp C ++ trong tệp tiêu đề, ODB tạo mã C ++ cho phép bạn
duy trì, truy vấn và cập nhật các đối tượng của các lớp này trong cơ sở dữ liệu quan hệ (RDBMS). Các
cơ sở dữ liệu quan hệ mà mã được tạo nên nhắm mục tiêu được chỉ định với yêu cầu bắt buộc
- cơ sở dữ liệu tùy chọn (xem bên dưới).

Đối với một tệp đầu vào trong biểu mẫu tên.hxx (các phần mở rộng tệp khác có thể được sử dụng thay thế cho
.hxx), trong chế độ cơ sở dữ liệu đơn (mặc định), các tệp C ++ được tạo theo mặc định có
những cái tên sau: tên-odb.hxx (tập tin tiêu đề), tên-odb.ixx (tệp nội tuyến), và Tên-
odb.cxx (tập tin nguồn). Ngoài ra, nếu --generate-lược đồ tùy chọn được chỉ định và
sql định dạng giản đồ được yêu cầu (xem --định dạng lược đồ), tên.sql tệp giản đồ cơ sở dữ liệu là
được tạo ra. Nếu riêng biệt định dạng giản đồ được yêu cầu, mã tạo cơ sở dữ liệu là
được tạo thành riêng biệt tên-lược đồ.cxx tập tin.

Trong chế độ đa cơ sở dữ liệu (xem - cơ sở dữ liệu đa dạng tùy chọn bên dưới), các tệp được tạo
tương ứng với chung cơ sở dữ liệu có cùng tên như trong chế độ cơ sở dữ liệu đơn.
Đối với các cơ sở dữ liệu khác, tên tệp bao gồm tên cơ sở dữ liệu: tên-odb-db.hxx, tên-odb-
db.ixx, tên-odb-db.cxx, Tên-db.sqltên-giản đồ-db.cxx (Ở đâu db là cơ sở dữ liệu
Tên).

LỰA CHỌN


--Cứu giúp In thông tin sử dụng và thoát.

--phiên bản
Phiên bản in và thoát.

-I dir Thêm dir ở đầu danh sách các thư mục được tìm kiếm để đưa vào
các tệp tiêu đề.

-D tên[=def]
Xác định macro tên với định nghĩa def. Nếu định nghĩa bị bỏ qua, hãy xác định tên được
1.

-U tên
Hủy bỏ mọi định nghĩa trước đây về macro tên, được tích hợp sẵn hoặc được cung cấp với
-D tùy chọn.

- cơ sở dữ liệu|-d db
Tạo mã cho db cơ sở dữ liệu. Giá trị hợp lệ là mss, mysql, oracle, pssql,
sqlitechung (chỉ chế độ đa cơ sở dữ liệu).

- cơ sở dữ liệu đa dạng|-m kiểu
Bật hỗ trợ đa cơ sở dữ liệu và chỉ định loại của nó. Các giá trị hợp lệ cho tùy chọn này
đang tĩnhnăng động.

Trong chế độ đa cơ sở dữ liệu, các tùy chọn xác định loại (ví dụ: --lược đồ-
định dạng), tên (ví dụ: hậu tố --odb-file-), hoặc nội dung (ví dụ: đoạn mở đầu
và tùy chọn phần kết) của các tệp đầu ra có thể được đặt trước tên cơ sở dữ liệu
tiếp theo là dấu hai chấm, ví dụ: mysql: giá trị. Điều này hạn chế giá trị của một
để chỉ áp dụng cho các tệp được tạo tương ứng với cơ sở dữ liệu này.

- cơ sở dữ liệu mặc định db
Khi hỗ trợ đa cơ sở dữ liệu tĩnh được sử dụng, hãy chỉ định cơ sở dữ liệu cần
làm mặc định. Khi hỗ trợ đa cơ sở dữ liệu động được sử dụng, chung luôn luôn là
làm cơ sở dữ liệu mặc định.

--tạo truy vấn|-q
Tạo mã hỗ trợ truy vấn. Nếu không có hỗ trợ này, bạn không thể sử dụng các lượt xem và chỉ có thể
tải các đối tượng thông qua id của chúng.

- sản xuất-chuẩn bị
Tạo mã hỗ trợ thực thi truy vấn đã chuẩn bị.

--omit-không chuẩn bị
Bỏ qua mã hỗ trợ thực thi truy vấn chưa chuẩn bị (một lần).

--tạo phiên|-e
Tạo mã hỗ trợ phiên. Với tùy chọn này, hỗ trợ phiên sẽ được kích hoạt bởi
mặc định cho tất cả các lớp liên tục ngoại trừ những lớp mà nó được sử dụng một cách rõ ràng
bị vô hiệu hóa bằng cách sử dụng db Phiên thực dụng.

--generate-lược đồ|-s
Tạo lược đồ cơ sở dữ liệu. Lược đồ cơ sở dữ liệu chứa các câu lệnh SQL
tạo các bảng cơ sở dữ liệu cần thiết để lưu trữ các lớp liên tục được xác định trong tệp
đang được biên dịch. Lưu ý rằng bằng cách áp dụng giản đồ này, tất cả thông tin hiện có
được lưu trữ trong các bảng như vậy sẽ bị mất.

Tùy thuộc vào cơ sở dữ liệu đang được sử dụng (- cơ sở dữ liệu tùy chọn), lược đồ được tạo
dưới dạng tệp SQL độc lập hoặc được nhúng vào mã C ++ được tạo. Theo mặc định
tệp SQL được tạo cho MySQL, PostgreSQL, Oracle và Microsoft SQL
Cơ sở dữ liệu máy chủ và lược đồ được nhúng vào mã C ++ cho SQLite
cơ sở dữ liệu. Sử dụng --định dạng lược đồ tùy chọn để thay đổi định dạng lược đồ mặc định.

Nếu hỗ trợ phát triển lược đồ cơ sở dữ liệu được bật (nghĩa là phiên bản mô hình đối tượng
được chỉ định), sau đó tùy chọn này cũng kích hoạt tạo lược đồ cơ sở dữ liệu
các câu lệnh di chuyển, một lần nữa hoặc là các tệp SQL độc lập hoặc được nhúng vào
mã C ++ được tạo. Bạn có thể chặn việc tạo các câu lệnh di chuyển giản đồ
bằng cách chỉ định - hỗ trợ-di chuyển tùy chọn.

- chỉ tạo-giản đồ
Chỉ tạo lược đồ cơ sở dữ liệu. Lưu ý rằng tùy chọn này chỉ hợp lệ khi
tạo lược đồ dưới dạng tệp SQL độc lập (xem --định dạng lược đồ để biết chi tiết).

- hỗ trợ-di chuyển
Ngăn chặn việc tạo các câu lệnh di chuyển lược đồ cơ sở dữ liệu.

--suppress-schema-version
Loại bỏ việc tạo bảng phiên bản lược đồ. Nếu bạn chỉ định tùy chọn này thì
bạn cũng phải chỉ định thủ công phiên bản lược đồ cơ sở dữ liệu và di chuyển
trạng thái trong thời gian chạy bằng cách sử dụng odb :: database :: schema_version () chức năng.

--schema-phiên bản-bảng tên
Chỉ định tên bảng phiên bản lược đồ thay thế thay vì tên mặc định
lược đồ_version. Nếu bạn chỉ định tùy chọn này thì bạn cũng sẽ phải theo cách thủ công
chỉ định tên bảng phiên bản lược đồ trong thời gian chạy bằng cách sử dụng
odb :: database :: schema_version_table () chức năng. Tên bảng có thể đủ tiêu chuẩn.

--định dạng lược đồ định dạng
Tạo lược đồ cơ sở dữ liệu ở định dạng được chỉ định. Vượt qua sql as định dạng đến
tạo lược đồ cơ sở dữ liệu dưới dạng tệp SQL độc lập hoặc chuyển nhúng để nhúng
lược đồ thành mã C ++ được tạo. Các riêng biệt giá trị tương tự như nhúng
ngoại trừ mã tạo lược đồ được tạo thành một tệp C ++ riêng biệt (Tên-
lược đồ.cxx theo mặc định). Giá trị này chủ yếu hữu ích nếu bạn muốn đặt
chức năng tạo lược đồ thành một chương trình hoặc thư viện riêng biệt. Lặp lại điều này
tùy chọn để tạo cùng một lược đồ cơ sở dữ liệu ở nhiều định dạng.

--omit-thả
Bỏ sót Thả các câu lệnh từ lược đồ cơ sở dữ liệu đã tạo.

--omit-tạo
Bỏ sót TẠO NÊN các câu lệnh từ lược đồ cơ sở dữ liệu đã tạo.

--tên lược đồ tên
Sử dụng tên dưới dạng tên lược đồ cơ sở dữ liệu. Tên lược đồ chủ yếu được sử dụng để
phân biệt giữa nhiều lược đồ nhúng trong danh mục lược đồ. Họ không phải
bị nhầm lẫn với các lược đồ cơ sở dữ liệu (không gian tên cơ sở dữ liệu) được chỉ định với
các --lược đồ lựa chọn. Nếu tùy chọn này không được chỉ định, tên trống, là
tên lược đồ mặc định, được sử dụng.

--fkeys-deferrable-mode m
Sử dụng chế độ kiểm tra ràng buộc m trong các khóa ngoại được tạo cho các mối quan hệ đối tượng.
Các giá trị hợp lệ cho tùy chọn này là không_có thể trì hoãn được, lập tứchoãn lại (mặc định).
MySQL và SQL Server không hỗ trợ khóa ngoại có thể hoãn lại và cho các cơ sở dữ liệu này
các khóa như vậy được tạo ra bình luận. Các khóa ngoại khác được tạo bởi ODB
trình biên dịch (chẳng hạn như những trình được sử dụng để hỗ trợ vùng chứa và cấu trúc phân cấp đa hình)
luôn luôn được tạo ra như không thể hoãn lại.

Cũng lưu ý rằng nếu bạn sử dụng không_có thể trì hoãn được or lập tức chế độ, sau đó đặt hàng
trong đó bạn duy trì, cập nhật và xóa các đối tượng trong giao dịch trở thành
quan trọng.

- con trỏ mặc định ptr
Sử dụng ptr làm con trỏ mặc định cho các đối tượng và chế độ xem liên tục. Đối tượng và chế độ xem
không có con trỏ được chỉ định với db con trỏ pragma sẽ sử dụng cái này
con trỏ theo mặc định. Giá trị của tùy chọn này có thể là * biểu thị con trỏ thô
và là tên mặc định hoặc đủ điều kiện của mẫu lớp con trỏ thông minh, cho
thí dụ, std :: auto_ptr. Trong trường hợp sau, trình biên dịch ODB xây dựng đối tượng
hoặc xem con trỏ bằng cách thêm một đối số mẫu duy nhất của đối tượng hoặc loại chế độ xem vào
tên đủ điều kiện, ví dụ std :: auto_ptr. Thời gian chạy ODB sử dụng đối tượng
và xem con trỏ để trả về, và trong trường hợp có đối tượng, chuyển và lưu vào bộ nhớ cache động
các thể hiện được phân bổ của các kiểu đối tượng và dạng xem.

Ngoại trừ con trỏ thô và con trỏ thông minh tiêu chuẩn được xác định trong
tệp tiêu đề, bạn phải bao gồm định nghĩa của con trỏ mặc định tại
phần đầu của tệp tiêu đề được tạo. Có hai cách phổ biến để đạt được
cái này: bạn có thể bao gồm tiêu đề cần thiết trong tệp đang được biên dịch hoặc bạn
có thể sử dụng --hxx-mở đầu tùy chọn để thêm những thứ cần thiết #include chỉ thị cho
mã được tạo.

- kiểu nghề kiểu
Sử dụng kiểu là loại phiên thay thế thay vì mặc định odb :: phiên. Điều này
có thể được sử dụng để chỉ định triển khai phiên tùy chỉnh được sử dụng bởi
các lớp bền bỉ. Lưu ý rằng bạn cũng sẽ cần bao gồm định nghĩa của
loại phiên tùy chỉnh vào tệp tiêu đề đã tạo. Điều này thường đạt được với
các --hxx-prologue * tùy chọn.

--Hồ sơ|-p tên
Chỉ định một hồ sơ sẽ được sử dụng trong quá trình biên dịch. Hồ sơ là một lựa chọn
tập tin. Đầu tiên, trình biên dịch ODB tìm kiếm một phiên bản dành riêng cho cơ sở dữ liệu với tên
được xây dựng bằng cách thêm vào -cơ sở dữ liệu.tùy chọn hậu tố cho tên, Nơi cơ sở dữ liệu is
tên cơ sở dữ liệu như được chỉ định với - cơ sở dữ liệu lựa chọn. Nếu tệp này không
tìm thấy, sau đó trình biên dịch ODB tìm kiếm một phiên bản độc lập với cơ sở dữ liệu với tên
được xây dựng bằng cách thêm vào .tùy chọn hậu tố.

Các tệp tùy chọn hồ sơ được tìm kiếm trong cùng một bộ thư mục như C ++
tiêu đề bao gồm #include <...> chỉ thị (các đường dẫn được tích hợp sẵn cộng với những
được chỉ định với -I tùy chọn). Tệp tùy chọn được tìm kiếm đầu tiên trong
thư mục chính nó và sau đó trong odb / thư mục con.

Để biết định dạng của tệp tùy chọn, hãy tham khảo --options-file tùy chọn bên dưới. Bạn
có thể lặp lại tùy chọn này để chỉ định nhiều cấu hình.

--một lần
Tạo mã cho tất cả các tệp đầu vào cũng như cho tất cả các tệp mà chúng
bao gồm cùng một lúc. Kết quả là một tập hợp các tệp nguồn / lược đồ chứa tất cả
mã được tạo. Nếu nhiều hơn một tệp đầu vào được chỉ định cùng với tệp này
tùy chọn, sau đó --tên đầu vào tùy chọn cũng phải được chỉ định để cung cấp
tên cơ sở cho các tệp đầu ra. Trong trường hợp này, phần thư mục của cơ sở như vậy
tên được sử dụng làm vị trí của tệp kết hợp. Điều này có thể quan trọng đối với
#include giải quyết chỉ thị.

--lược đồ kế hoạch
Chỉ định một lược đồ cơ sở dữ liệu (không gian tên cơ sở dữ liệu) sẽ được gán cho
các lớp liên tục trong tệp đang được biên dịch. Các lược đồ cơ sở dữ liệu không được
nhầm lẫn với tên lược đồ cơ sở dữ liệu (tên danh mục lược đồ) được chỉ định bằng
các --tên lược đồ tùy chọn.

- ký hiệu xuất khẩu biểu tượng
Chèn biểu tượng ở những nơi mà các câu lệnh kiểm soát xuất / nhập DLL
(__declspec (dllexport / dllimport)) là cần thiết. Xem thêm - biểu tượng bên ngoài
tùy chọn bên dưới.

- biểu tượng bên ngoài biểu tượng
If biểu tượng được xác định, hãy chèn nó vào những nơi mà bản trình bày mẫu phải được
tuyên bố bên ngoài. Tùy chọn này thường được sử dụng cùng với - ký hiệu xuất khẩu khi nào
cả hỗ trợ đa cơ sở dữ liệu và truy vấn đều được kích hoạt.

--std phiên bản
Chỉ định tiêu chuẩn C ++ sẽ được sử dụng trong quá trình biên dịch. Giá trị hợp lệ là
c ++ 98 (Mặc định), c ++ 11c ++ 14.

--cảnh báo-cứng-thêm
Cảnh báo về các thành viên dữ liệu khó được thêm vào.

--cảnh báo-khó-xóa
Cảnh báo về các thành viên dữ liệu bị xóa cứng và các lớp liên tục.

- lùn
Cảnh báo về cả thành viên dữ liệu được thêm cứng và xóa cứng và các lớp liên tục.

--output-dir|-o dir
Ghi các tệp đã tạo vào dir thay vì thư mục hiện tại.

--tên đầu vào tên
Sử dụng tên thay vì tệp đầu vào để lấy tên của các tệp được tạo. Nếu như
các --một lần tùy chọn được chỉ định, sau đó là phần thư mục của tên được sử dụng như
vị trí của tệp kết hợp. Tham khảo đến --một lần tùy chọn để biết chi tiết.

--changelog hồ sơ
Đọc / ghi bảng thay đổi từ / đến hồ sơ thay vì tệp thay đổi mặc định. Các
tên tệp thay đổi mặc định được lấy từ tên tệp đầu vào và nó được đặt
vào cùng thư mục với tệp đầu vào. Lưu ý rằng --output-dir tùy chọn không
không ảnh hưởng đến vị trí tệp thay đổi. Nói cách khác, theo mặc định, bảng thay đổi
tệp được coi là đầu vào khác chứ không phải đầu ra mặc dù trình biên dịch ODB
có thể sửa đổi nó. Sử dụng --changeđăng nhập--changelog-out các tùy chọn để chỉ định
các tệp chaneglog đầu vào và đầu ra khác nhau.

--changeđăng nhập hồ sơ
Đọc bản thay đổi từ hồ sơ thay vì tệp thay đổi mặc định. Nếu tùy chọn này là
được chỉ định, thì bạn cũng phải chỉ định tệp chanegelog đầu ra với --changelog-
ra.

--changelog-out hồ sơ
Viết thay đổi vào hồ sơ thay vì tệp thay đổi mặc định. Nếu tùy chọn này là
được chỉ định, thì bạn cũng phải chỉ định tệp chanegelog đầu vào với --changelog-
in.

--changelog-dir dir
Sử dụng dir thay vì thư mục tệp đầu vào là thư mục tệp thay đổi. Điều này
thư mục cũng được thêm vào các tệp thay đổi được chỉ định với --changelog,
--changeđăng nhập--changeđăng nhập các tùy chọn trừ khi chúng là các đường dẫn tuyệt đối.

--init-changelog
Buộc khởi tạo lại bảng thay đổi ngay cả khi bảng thay đổi tồn tại (tất cả bảng hiện có
lịch sử thay đổi sẽ bị mất). Tùy chọn này chủ yếu hữu ích cho tự động
thử nghiệm.

hậu tố --odb-file- hậu tố
Sử dụng hậu tố để xây dựng tên của các tệp C ++ được tạo. Trong đơn-
chế độ cơ sở dữ liệu giá trị mặc định cho tùy chọn này là -odb. Trong chế độ đa cơ sở dữ liệu
nó là -odb cho các tệp tương ứng với chung cơ sở dữ liệu và -odb-db (Ở đâu db
là tên cơ sở dữ liệu) cho các cơ sở dữ liệu khác.

hậu tố --sql-file- hậu tố
Sử dụng hậu tố để xây dựng tên của tệp SQL giản đồ được tạo. Trong đơn-
chế độ cơ sở dữ liệu theo mặc định không có hậu tố nào được sử dụng. Trong chế độ đa cơ sở dữ liệu, mặc định
giá trị cho tùy chọn này là -db (Ở đâu db là tên cơ sở dữ liệu).

hậu tố --schema-file- hậu tố
Sử dụng hậu tố để xây dựng tên của tệp nguồn C ++ lược đồ đã tạo. bên trong
chế độ cơ sở dữ liệu đơn giá trị mặc định cho tùy chọn này là -lược đồ. Trong đa
chế độ cơ sở dữ liệu nó là -lược đồ-db (Ở đâu db là tên cơ sở dữ liệu). Xem --lược đồ-
định dạng tùy chọn để biết chi tiết.

--changelog-file-hậu tố SFX
Sử dụng SFX để xây dựng tên của tệp thay đổi. Trong chế độ một cơ sở dữ liệu bằng cách
mặc định không có hậu tố nào được sử dụng. Trong chế độ đa cơ sở dữ liệu, giá trị mặc định cho điều này
Tùy chọn là -db (Ở đâu db là tên cơ sở dữ liệu).

hậu tố --hxx hậu tố
Sử dụng hậu tố thay vì mặc định .hxx để xây dựng tên của C ++ đã tạo
tập tin tiêu đề.

hậu tố --ixx hậu tố
Sử dụng hậu tố thay vì mặc định .ixx để xây dựng tên của C ++ đã tạo
tệp nội tuyến.

hậu tố --cxx hậu tố
Sử dụng hậu tố thay vì mặc định .cxx để xây dựng tên của C ++ đã tạo
tập tin nguồn.

hậu tố --sql hậu tố
Sử dụng hậu tố thay vì mặc định .sql để xây dựng tên của
tệp giản đồ cơ sở dữ liệu.

--changelog-hậu tố hậu tố
Sử dụng hậu tố thay vì mặc định . Xml để xây dựng tên của tệp thay đổi.

--hxx-mở đầu văn bản
Chèn văn bản ở đầu tệp tiêu đề C ++ được tạo.

--ixx-mở đầu văn bản
Chèn văn bản ở đầu tệp nội tuyến C ++ được tạo.

--cxx-mở đầu văn bản
Chèn văn bản ở đầu tệp nguồn C ++ được tạo.

--lược đồ-mở đầu văn bản
Chèn văn bản ở đầu tệp nguồn C ++ của lược đồ được tạo.

--sql-mở đầu văn bản
Chèn văn bản ở đầu tệp giản đồ cơ sở dữ liệu đã tạo.

--di cư-mở đầu văn bản
Chèn văn bản ở đầu tệp di chuyển cơ sở dữ liệu đã tạo.

--sql-interlude văn bản
Chèn văn bản sau tất cả Thả và trước bất kỳ TẠO NÊN các câu lệnh trong
tệp giản đồ cơ sở dữ liệu.

--hxx-phần kết văn bản
Chèn văn bản ở cuối tệp tiêu đề C ++ được tạo.

--ixx-phần kết văn bản
Chèn văn bản ở cuối tệp nội tuyến C ++ được tạo.

--cxx-phần kết văn bản
Chèn văn bản ở cuối tệp nguồn C ++ được tạo.

--lược đồ-phần kết văn bản
Chèn văn bản ở cuối tệp nguồn C ++ của lược đồ đã tạo.

--sql-phần kết văn bản
Chèn văn bản ở cuối tệp lược đồ cơ sở dữ liệu đã tạo.

- di cư-phần kết văn bản
Chèn văn bản ở cuối tệp di chuyển cơ sở dữ liệu đã tạo.

--hxx-prologue-tệp hồ sơ
Chèn nội dung của hồ sơ ở đầu tệp tiêu đề C ++ được tạo.

--ixx-prologue-tệp hồ sơ
Chèn nội dung của hồ sơ ở đầu tệp nội tuyến C ++ được tạo.

--cxx-prologue-tệp hồ sơ
Chèn nội dung của hồ sơ ở đầu tệp nguồn C ++ được tạo.

--schema-prologue-file hồ sơ
Chèn nội dung của hồ sơ ở đầu mã nguồn C ++ của lược đồ đã tạo
tập tin.

--sql-prologue-tệp hồ sơ
Chèn nội dung của hồ sơ ở đầu tệp giản đồ cơ sở dữ liệu đã tạo.

--migration-prologue-file f
Chèn nội dung của tệp f khi bắt đầu di chuyển cơ sở dữ liệu đã tạo
tập tin.

--sql-interlude-file hồ sơ
Chèn nội dung của hồ sơ sau tất cả Thả và trước bất kỳ TẠO NÊN tuyên bố trong
tệp giản đồ cơ sở dữ liệu đã tạo.

--hxx-tập tin phần kết hồ sơ
Chèn nội dung của hồ sơ ở cuối tệp tiêu đề C ++ được tạo.

--ixx-tập tin phần kết hồ sơ
Chèn nội dung của hồ sơ ở cuối tệp nội tuyến C ++ được tạo.

--cxx-tập tin phần kết hồ sơ
Chèn nội dung của hồ sơ ở cuối tệp nguồn C ++ được tạo.

--schema-tập tin phần kết hồ sơ
Chèn nội dung của hồ sơ ở cuối tệp nguồn C ++ của lược đồ đã tạo.

--sql-tập tin phần kết hồ sơ
Chèn nội dung của hồ sơ ở cuối tệp lược đồ cơ sở dữ liệu đã tạo.

--migration-tập tin phần kết f
Chèn nội dung của tệp f ở cuối tệp di chuyển cơ sở dữ liệu đã tạo.

--odb-mở đầu văn bản
Biên dịch văn bản trước tệp tiêu đề đầu vào. Tùy chọn này cho phép bạn thêm bổ sung
khai báo, chẳng hạn như các đặc điểm đặc điểm tùy chỉnh, để biên dịch ODB
quá trình.

--odb-prologue-tệp hồ sơ
Biên dịch hồ sơ nội dung trước tệp tiêu đề đầu vào. Tệp mở đầu được biên dịch
sau tất cả các đoạn văn bản mở đầu (--odb-mở đầu Tùy chọn).

--odb-phần kết văn bản
Biên dịch văn bản sau tệp tiêu đề đầu vào. Tùy chọn này cho phép bạn thêm bổ sung
khai báo, chẳng hạn như các đặc điểm đặc điểm tùy chỉnh, để biên dịch ODB
quá trình.

--odb-tập tin phần kết hồ sơ
Biên dịch hồ sơ nội dung sau tệp tiêu đề đầu vào. Các tệp phần kết được biên soạn
sau tất cả các đoạn văn bản phần kết (--odb-phần kết Tùy chọn).

--bảng Prefix tiếp đầu ngữ
Thêm tiếp đầu ngữ đến tên bảng và, đối với cơ sở dữ liệu có chỉ mục toàn cầu và / hoặc ngoại
tên chính, cho cả những tên đó. Tiền tố được thêm vào cả hai tên đã
được chỉ định với db bàndb chỉ số pragmas và những thứ tự động
bắt nguồn từ lớp và tên thành viên dữ liệu. Nếu bạn yêu cầu một dấu phân tách, chẳng hạn như
gạch dưới, giữa tiền tố và tên, sau đó bạn nên đưa nó vào
giá trị tiền tố.

- hậu tố -index hậu tố
Sử dụng hậu tố thay vì mặc định _i để xây dựng tên chỉ mục. Hậu tố chỉ là
được thêm vào các tên được lấy tự động từ tên thành viên dữ liệu. nếu bạn
yêu cầu dấu phân tách, chẳng hạn như dấu gạch dưới, giữa tên và hậu tố, sau đó
bạn nên đưa nó vào giá trị hậu tố.

hậu tố --fkey hậu tố
Sử dụng hậu tố thay vì mặc định _fk để xây dựng các tên khóa ngoại. nếu bạn
yêu cầu dấu phân tách, chẳng hạn như dấu gạch dưới, giữa tên và hậu tố, sau đó
bạn nên đưa nó vào giá trị hậu tố.

- hậu tố-thứ tự hậu tố
Sử dụng hậu tố thay vì mặc định _seq để xây dựng tên trình tự. Nếu bạn yêu cầu
dấu phân tách, chẳng hạn như dấu gạch dưới, giữa tên và hậu tố, thì bạn
nên đưa nó vào giá trị hậu tố.

--sql-name-case trường hợp
Chuyển đổi tất cả các tên SQL có nguồn gốc tự động thành chữ hoa hoặc chữ thường. Giá trị hợp lệ
cho tùy chọn này là phía trênthấp hơn.

--bảng-regex biểu thức chính quy
Thêm biểu thức chính quy vào danh sách các biểu thức chính quy được sử dụng để chuyển đổi
tên bảng có nguồn gốc tự động. Xem phần CHUYỂN ĐỔI TÊN SQL bên dưới
để biết thêm chi tiết.

--cột-regex biểu thức chính quy
Thêm biểu thức chính quy vào danh sách các biểu thức chính quy được sử dụng để chuyển đổi
tên cột có nguồn gốc tự động. Xem phần CHUYỂN ĐỔI TÊN SQL bên dưới
để biết thêm chi tiết.

--index-regex biểu thức chính quy
Thêm biểu thức chính quy vào danh sách các biểu thức chính quy được sử dụng để chuyển đổi
tên chỉ mục có nguồn gốc tự động. Xem phần CHUYỂN ĐỔI TÊN SQL bên dưới
để biết thêm chi tiết.

--fkey-regex biểu thức chính quy
Thêm biểu thức chính quy vào danh sách các biểu thức chính quy được sử dụng để chuyển đổi
tên khóa nước ngoài được tự động dẫn xuất. Xem phần CHUYỂN ĐỔI TÊN SQL
dưới đây để biết chi tiết.

--sequence-regex biểu thức chính quy
Thêm biểu thức chính quy vào danh sách các biểu thức chính quy được sử dụng để chuyển đổi
tên trình tự có nguồn gốc tự động. Xem phần CHUYỂN ĐỔI TÊN SQL
dưới đây để biết chi tiết.

--statement-regex biểu thức chính quy
Thêm biểu thức chính quy vào danh sách các biểu thức chính quy được sử dụng để chuyển đổi
tên câu lệnh được chuẩn bị sẵn tự động. Xem các CHUYỂN ĐỔI TÊN SQL
phần bên dưới để biết chi tiết.

--sql-name-regex biểu thức chính quy
Thêm biểu thức chính quy vào danh sách các biểu thức chính quy được sử dụng để chuyển đổi tất cả
tên SQL có nguồn gốc tự động. Xem phần CHUYỂN ĐỔI TÊN SQL bên dưới để biết
chi tiết.

--sql-name-regex-dấu vết
Theo dõi quá trình áp dụng các biểu thức chính quy được chỉ định với tên SQL
- * - regex tùy chọn. Sử dụng tùy chọn này để tìm hiểu lý do tại sao cụm từ thông dụng của bạn không
làm những gì bạn mong đợi họ làm.

--accessor-regex biểu thức chính quy
Thêm biểu thức chính quy vào danh sách các biểu thức chính quy được sử dụng để chuyển đổi tên thành viên dữ liệu thành
tên chức năng khi tìm kiếm chức năng truy cập phù hợp. Đối số để
tùy chọn này là một biểu thức chính quy giống Perl trong biểu mẫu /Belt Hold/thay thế/.
Bất kỳ ký tự nào cũng có thể được sử dụng làm dấu phân cách thay vì / và dấu phân cách có thể là
trốn vào bên trong Belt Holdthay thế có dấu gạch chéo ngược (\). Bạn có thể chỉ định
nhiều biểu thức chính quy bằng cách lặp lại tùy chọn này.

Tất cả các biểu thức chính quy được thử theo thứ tự được chỉ định và đầu tiên
biểu thức tạo ra một hàm truy cập phù hợp được sử dụng. Mỗi biểu thức là
đã thử hai lần: đầu tiên với tên thành viên thực và sau đó với tên của thành viên công khai
tên có được bằng cách loại bỏ các trang trí tên thành viên phổ biến, chẳng hạn như
dấu gạch dưới đầu và cuối, m_ tiền tố, v.v. Trình biên dịch ODB cũng
bao gồm một số biểu thức dựng sẵn cho các tên người truy cập thường được sử dụng, chẳng hạn như
get_foo, getFoo, getfoovà chỉ foo. Các biểu thức tích hợp được thử cuối cùng.

Ví dụ: biểu thức sau đây biến đổi các thành viên dữ liệu có tên công khai
trong các hình thức foo đến tên người truy cập trong biểu mẫu GetFoo:

/(.+)/Nhận\u$1/

Xem thêm phần ĐĂNG KÝ VÀ BÁO GIÁ VỎ VỎ bên dưới.

--accessor-regex-dấu vết
Theo dõi quá trình áp dụng các biểu thức chính quy được chỉ định với - bộ xử lý-
biểu thức chính quy Lựa chọn. Sử dụng tùy chọn này để tìm hiểu lý do tại sao cụm từ thông dụng của bạn không hoạt động
những gì bạn mong đợi họ làm.

--sửa đổi-regex biểu thức chính quy
Thêm biểu thức chính quy vào danh sách các biểu thức chính quy được sử dụng để chuyển đổi tên thành viên dữ liệu thành
tên hàm khi tìm kiếm một hàm bổ nghĩa phù hợp. Đối số để
tùy chọn này là một biểu thức chính quy giống Perl trong biểu mẫu /Belt Hold/thay thế/.
Bất kỳ ký tự nào cũng có thể được sử dụng làm dấu phân cách thay vì / và dấu phân cách có thể là
trốn vào bên trong Belt Holdthay thế có dấu gạch chéo ngược (\). Bạn có thể chỉ định
nhiều biểu thức chính quy bằng cách lặp lại tùy chọn này.

Tất cả các biểu thức chính quy được thử theo thứ tự được chỉ định và đầu tiên
biểu thức tạo ra một hàm bổ nghĩa phù hợp được sử dụng. Mỗi biểu thức là
đã thử hai lần: đầu tiên với tên thành viên thực và sau đó với tên của thành viên công khai
tên có được bằng cách loại bỏ các trang trí tên thành viên phổ biến, chẳng hạn như
dấu gạch dưới đầu và cuối, m_ tiền tố, v.v. Trình biên dịch ODB cũng
bao gồm một số biểu thức tích hợp cho các tên bổ trợ thường được sử dụng, chẳng hạn như
set_foo, setFoo, setfoovà chỉ foo. Các biểu thức tích hợp được thử cuối cùng.

Ví dụ: biểu thức sau đây biến đổi các thành viên dữ liệu có tên công khai
trong các hình thức foo để sửa đổi tên trong biểu mẫu SetFoo:

/(.+)/Set\u$1/

Xem thêm phần ĐĂNG KÝ VÀ BÁO GIÁ VỎ VỎ bên dưới.

--modifier-regex-dấu vết
Theo dõi quá trình áp dụng các biểu thức chính quy được chỉ định với --bổ nghĩa-
biểu thức chính quy Lựa chọn. Sử dụng tùy chọn này để tìm hiểu lý do tại sao cụm từ thông dụng của bạn không hoạt động
những gì bạn mong đợi họ làm.

--bao gồm-với-ngoặc
Sử dụng dấu ngoặc nhọn (<>) thay vì dấu ngoặc kép ("") trong #include
chỉ thị.

- tiền tố bao gồm tiếp đầu ngữ
Thêm tiếp đầu ngữ để tạo ra #include các đường dẫn chỉ thị.

--include-regex biểu thức chính quy
Thêm biểu thức chính quy vào danh sách các biểu thức chính quy được sử dụng để biến đổi được tạo #include
các đường dẫn chỉ thị. Đối số cho tùy chọn này là một biểu thức chính quy giống Perl trong
hình thức /Belt Hold/thay thế/. Bất kỳ ký tự nào cũng có thể được sử dụng làm dấu phân cách thay vì
/ và dấu phân cách có thể được thoát ra bên trong Belt Holdthay thế với một dấu gạch chéo ngược
(\). Bạn có thể chỉ định nhiều biểu thức chính quy bằng cách lặp lại tùy chọn này. Tất cả
biểu thức chính quy được thử theo thứ tự được chỉ định và biểu thức đầu tiên
diêm được sử dụng.

Ví dụ: các phép biến đổi biểu thức sau đây bao gồm các đường dẫn trong biểu mẫu
foo / bar-odb.h đến các đường dẫn trong biểu mẫu foo / created / bar-odb.h:

% foo /(.+)- odb.h% foo / created / $ 1-odb.h%

Xem thêm phần ĐĂNG KÝ VÀ BÁO GIÁ VỎ VỎ bên dưới.

--include-regex-dấu vết
Theo dõi quá trình áp dụng các biểu thức chính quy được chỉ định với --bao gồm-
biểu thức chính quy Lựa chọn. Sử dụng tùy chọn này để tìm hiểu lý do tại sao cụm từ thông dụng của bạn không hoạt động
những gì bạn mong đợi họ làm.

- tiền tố bảo vệ tiếp đầu ngữ
Thêm tiếp đầu ngữ đến các trình bảo vệ bao gồm tiêu đề đã tạo. Tiền tố được chuyển thành
chữ hoa và các ký tự không hợp lệ trong tên macro bộ xử lý trước là
được thay thế bằng dấu gạch dưới.

--show-sloc
In số lượng dòng mã nguồn vật lý được tạo (SLOC).

- giới hạn số lượng num
Kiểm tra xem số lượng dòng mã nguồn vật lý được tạo (SLOC) không
quá num.

--options-file hồ sơ
Đọc các tùy chọn bổ sung từ hồ sơ với mỗi tùy chọn xuất hiện trên một dòng riêng biệt
theo sau là khoảng trắng và giá trị tùy chọn. Dòng trống và dòng bắt đầu
với # bị bỏ qua. Giá trị tùy chọn có thể được bao gồm trong đôi (") hoặc đơn (')
dấu ngoặc kép để duy trì khoảng trắng đầu và cuối cũng như để chỉ định trống
các giá trị. Nếu bản thân giá trị có chứa dấu ngoặc kép hoặc dấu ngoặc kép, hãy đặt nó bằng dấu
ví dụ như cặp dấu ngoặc kép '"NS"'. Dấu ngoặc kép không ở đầu và không ở cuối là
được hiểu là một phần của giá trị tùy chọn.

Ngữ nghĩa của việc cung cấp các tùy chọn trong một tệp tương đương với việc cung cấp cùng một
tập hợp các tùy chọn theo cùng một thứ tự trên dòng lệnh tại điểm mà
--options-file tùy chọn được chỉ định ngoại trừ việc thoát shell và trích dẫn là
không yêu cầu. Bạn có thể lặp lại tùy chọn này để chỉ định nhiều hơn một tệp tùy chọn.

-x tùy chọn
Qua tùy chọn tới trình biên dịch C ++ cơ bản (g ++). Các tùy chọn giá trị mà không
bắt đầu với - được coi là g ++ tên thực thi.

-v In các lệnh được thực hiện để chạy các giai đoạn biên dịch.

--dấu vết
Theo dõi quá trình biên dịch.

--mysql-công cụ động cơ
Sử dụng động cơ thay vì mặc định InnoDB trong tệp giản đồ cơ sở dữ liệu đã tạo. Vì
thông tin thêm về các tùy chọn công cụ lưu trữ xem tài liệu MySQL. nếu bạn
muốn sử dụng cơ sở dữ liệu-công cụ mặc định, vượt qua mặc định như giá trị cho điều này
tùy chọn.

--sqlite-ghi đè-null
Cho phép tất cả các cột trong lược đồ cơ sở dữ liệu đã tạo NULL các giá trị. Đây là
chủ yếu hữu ích trong việc di chuyển giản đồ vì SQLite không hỗ trợ giảm
cột. Bằng cách tạo tất cả các cột NULL sau đó chúng tôi có thể "xóa" chúng bằng cách đặt
giá trị để NULL. Lưu ý rằng tùy chọn này ghi đè ngay cả có giá trị thực dụng.

--sqlite-lax-auto-id
Không buộc tăng các id đối tượng được chỉ định tự động một cách đơn điệu. Trong này
chế độ lược đồ cơ sở dữ liệu đã tạo bỏ qua TỰ ĐỘNG HÓA từ khóa dẫn đến
độ bền đối tượng nhanh hơn nhưng có thể dẫn đến các id được gán tự động không nằm trong
thứ tự tăng dần nghiêm ngặt. Tham khảo tài liệu SQLite để biết thêm chi tiết.

--pssql-server-phiên bản ver
Chỉ định phiên bản máy chủ PostgreSQL tối thiểu mà mã C ++ được tạo và
lược đồ sẽ được sử dụng. Thông tin này được sử dụng để kích hoạt phiên bản cụ thể
tối ưu hóa và cách giải quyết trong mã và lược đồ C ++ được tạo. Phiên bản
phải ở trong chính.nhỏ biểu mẫu, ví dụ, 9.1. Nếu tùy chọn này không được chỉ định,
sau đó 7.4 hoặc sau đó được giả định.

--oracle-client-phiên bản ver
Chỉ định phiên bản thư viện máy khách Oracle (OCI) tối thiểu mà phiên bản được tạo
Mã C ++ sẽ được liên kết. Thông tin này được sử dụng để kích hoạt phiên bản cụ thể
tối ưu hóa và cách giải quyết trong mã C ++ được tạo. Phiên bản phải ở
các chính.nhỏ biểu mẫu, ví dụ, 11.2. Nếu tùy chọn này không được chỉ định, thì 10.1
hoặc sau đó được giả định.

--oracle-warning-truncation
Cảnh báo về các tên SQL dài hơn 30 ký tự và do đó
cắt ngắn. Lưu ý rằng trong quá trình tạo lược đồ cơ sở dữ liệu (--generate-lược đồ) ODB
phát hiện khi nào việc cắt ngắn như vậy dẫn đến xung đột tên và thậm chí cả chẩn đoán vấn đề
mà không có tùy chọn này được chỉ định.

--mssql-server-phiên bản ver
Chỉ định phiên bản máy chủ SQL Server tối thiểu mà mã C ++ được tạo và
lược đồ sẽ được sử dụng. Thông tin này được sử dụng để kích hoạt phiên bản cụ thể
tối ưu hóa và cách giải quyết trong mã và lược đồ C ++ được tạo. Phiên bản
phải ở trong chính.nhỏ biểu mẫu, ví dụ, 9.0 (Máy chủ SQL 2005), 10.5 (2008R2),
or 11.0 (2012). Nếu tùy chọn này không được chỉ định, thì 10.0 (SQL Server 2008) hoặc
sau này được giả định.

--mssql-giới hạn ngắn hạn kích thước
Chỉ định giới hạn kích thước dữ liệu ngắn. Nếu một ký tự, ký tự quốc gia hoặc hệ nhị phân
kiểu dữ liệu có độ dài tối đa (tính bằng byte) nhỏ hơn hoặc bằng giới hạn này, thì nó
được coi là ngắn dữ liệu, nếu không thì nó là Dài dữ liệu. Đối với dữ liệu ngắn ODB trước
phân bổ một bộ đệm trung gian có kích thước tối đa và liên kết trực tiếp với một
cột tham số hoặc kết quả. Bằng cách này, API cơ bản (ODBC) có thể đọc / ghi
trực tiếp từ / tới vùng đệm này. Trong trường hợp dữ liệu dài, dữ liệu được đọc / ghi
bằng cách sử dụng SQLGetData ()/SQLPutData () Các chức năng ODBC. Trong khi dữ liệu dài
cách tiếp cận làm giảm dung lượng bộ nhớ được sử dụng bởi ứng dụng, nó có thể yêu cầu
tài nguyên CPU lớn hơn. Giới hạn dữ liệu ngắn mặc định là 1024 byte. Khi thiết lập một
giới hạn dữ liệu ngắn tùy chỉnh, đảm bảo rằng nó đủ lớn để không có đối tượng
id trong ứng dụng được coi là dữ liệu dài.

SQL TÊN CHUYỂN ĐỔI


Trình biên dịch ODB cung cấp một số cơ chế để chuyển đổi có nguồn gốc tự động
Tên SQL, chẳng hạn như bảng, cột, v.v., để phù hợp với quy ước đặt tên cụ thể. Tại
cấp cao hơn, chúng ta có thể thêm tiền tố vào tên toàn cục (bảng và, đối với một số cơ sở dữ liệu, chỉ mục
và / hoặc khóa ngoại) với --bảng Prefix lựa chọn. Tương tự, chúng tôi có thể chỉ định tùy chỉnh
các hậu tố cho chỉ mục được dẫn xuất tự động (- hậu tố -index; mặc định là _i), khóa ngoại
(hậu tố --fkey; mặc định là _fk), và chuỗi (- hậu tố-thứ tự; mặc định là _seq) tên.
Cuối cùng, chúng tôi cũng có thể chuyển đổi tất cả các tên thành chữ hoa hoặc chữ thường với --sql-name-case
tùy chọn (giá trị hợp lệ là phía trênthấp hơn).

Ở cấp thấp hơn, chúng ta có thể chỉ định một tập hợp các biểu thức chính quy để triển khai tùy ý
các biến đổi của tên SQL được dẫn xuất tự động. Nếu chúng tôi muốn một thường xuyên cụ thể
biểu thức chỉ để áp dụng cho một tên cụ thể, ví dụ: bảng hoặc cột, sau đó chúng tôi sử dụng một
của --loại-regex tùy chọn, ở đâu loại có thể bàn, cột, chỉ số, fkey, trình tự, hoặc là
tuyên bố. Mặt khác, nếu chúng ta muốn các biểu thức chính quy của mình áp dụng cho tất cả SQL
tên, sau đó chúng tôi sử dụng --sql-name-regex tùy chọn.

Sự tương tác giữa các phép biến đổi cấp cao hơn và cấp thấp hơn như sau. Tiền tố
và các hậu tố được thêm vào trước. Sau đó, các phép biến đổi biểu thức chính quy được áp dụng.
Cuối cùng, nếu được yêu cầu, tên được chuyển đổi thành chữ hoa hoặc chữ thường. Cũng lưu ý rằng tất cả
những biến đổi này ngoại trừ --bảng Prefix chỉ áp dụng cho các tên có nguồn gốc tự động.
Nói cách khác, nếu một bảng, cột, v.v., tên được chỉ định rõ ràng bằng một pragma,
sau đó nó được sử dụng nguyên trạng, mà không áp dụng bất kỳ phép biến đổi nào (ngoại trừ tiền tố bảng).

Giá trị cho - * - regex tùy chọn là một biểu thức chính quy giống Perl trong biểu mẫu
/Belt Hold/thay thế/. Bất kỳ ký tự nào cũng có thể được sử dụng làm dấu phân cách thay vì /
dấu phân cách có thể được thoát bên trong Belt Holdthay thế có dấu gạch chéo ngược (\). Bạn có thể
cũng chỉ định nhiều biểu thức chính quy bằng cách lặp lại các tùy chọn này.

Tất cả các biểu thức chính quy được thử theo thứ tự được chỉ định với tên cụ thể
biểu thức (ví dụ: --bảng-regex) đã thử đầu tiên, sau đó là các biểu thức chung chung
(--sql-name-regex). Biểu thức đầu tiên phù hợp được sử dụng.

Ví dụ, hãy xem xét một biểu thức chính quy biến đổi tên lớp trong biểu mẫu CFoo
đến một tên bảng trong biểu mẫu THỰC SỰ

--bảng-regex '/C(.+)/\U$1/'

Là một ví dụ thú vị hơn, hãy xem xét sự chuyển đổi của các tên lớp theo sau
quy ước chữ hoa lạc đà trên (ví dụ: FooBar) đến các tên bảng theo sau
được phân tách bằng dấu gạch dưới, tất cả quy ước viết hoa (ví dụ: FOO_BAR). Đối với trường hợp này chúng tôi
phải sử dụng các biểu thức riêng biệt để xử lý các tên một từ, hai từ, v.v.:

--bảng-regex '/ ([Az] [az] +) / \ U $ 1 /'

--bảng-regex '/ ([Az] [az] +) ([Az] [az] +) / \ U $ 1_ $ 2 /'

Xem thêm phần ĐĂNG KÝ VÀ BÁO GIÁ VỎ VỎ bên dưới.

ĐĂNG KÝ SHELL BÁO GIÁ


Khi nhập một đối số biểu thức chính quy trong dòng lệnh shell, nó thường
cần thiết để sử dụng trích dẫn (bao gồm đối số trong "" hoặc '') để ngăn chặn
trình bao từ việc diễn giải các ký tự nhất định, ví dụ: khoảng trắng làm dấu phân cách đối số và
$ dưới dạng mở rộng thay đổi.

Thật không may, thật khó để đạt được điều này theo cách có thể di động qua các shell POSIX,
chẳng hạn như những thứ được tìm thấy trên GNU / Linux và UNIX, và Windows shell. Ví dụ: nếu bạn sử dụng ""
để trích dẫn, bạn sẽ nhận được kết quả sai với các shell POSIX nếu biểu thức của bạn chứa $.
Cách tiêu chuẩn để giải quyết vấn đề này trên hệ thống POSIX là sử dụng '' thay thế.
Thật không may, Windows shell không loại bỏ '' khỏi các đối số khi chúng được chuyển đến
các ứng dụng. Do đó, bạn có thể phải sử dụng '' cho POSIX và "" cho Windows ($ không
được coi như một ký tự đặc biệt trên Windows).

Ngoài ra, bạn có thể lưu các tùy chọn biểu thức chính quy vào một tệp, một tùy chọn trên mỗi dòng,
và sử dụng tệp này với --options-file Lựa chọn. Với cách tiếp cận này, bạn không cần phải
lo lắng về báo giá vỏ.

CHẨN ĐOÁN


Nếu tệp đầu vào không phải là C ++ hợp lệ, ODB sẽ đưa ra thông báo chẩn đoán tới STDERR và thoát
với mã thoát khác XNUMX.

Sử dụng odb trực tuyến bằng các dịch vụ onworks.net


Máy chủ & Máy trạm miễn phí

Tải xuống ứng dụng Windows & Linux

Lệnh Linux

Ad




×
quảng cáo
❤️Mua sắm, đặt phòng hoặc mua tại đây — không mất phí, giúp duy trì các dịch vụ miễn phí.