Làm cách nào để cấu hình ORF của ColdFusion 9 để sử dụng nhiều DSN nếu có thể?Làm thế nào để cấu hình ORF Coldfusion cho nhiều DSNs phạm vi phiên?
Có thể thiết lập nguồn dữ liệu trong ngữ cảnh của phạm vi phiên thay vì phạm vi ứng dụng không?
Hoặc làm thế nào, trong CF9, bạn có định cấu hình Hibernate để sử dụng nhiều DSN không?
Hình như tôi nên cụ thể hơn ... Tôi đang tìm kiếm một giải pháp cho phép xác định một DSN dựa trên phiên.
Đây là kịch bản. Chúng tôi có một ứng dụng được xây dựng tùy chỉnh duy nhất sử dụng nhiều DSN được xác định từ tên miền phụ. Vì vậy, ai đó truy cập từ http://abc.domain.com sẽ sử dụng DSN abc trong trường hợp ai đó truy cập vào xyz.domain.com sẽ sử dụng xyz DSN. Tên của DSN được xác định khi phiên được tạo và nó được lưu trữ dưới dạng biến phiên.
Tôi muốn làm điều gì đó như thế này:
//Artists.cfc
component persistent="true" datasource="#session.dsn#"
{
property name="artistid" generator="increment";
property firstname;
property lastname;
property address;
property city;
property state;
}
// Application.cfc
component output="false" {
THIS.name = "MultipleDsnORMTest";
THIS.applicationTimeout = createTimeSpan(0, 0, 0, 0);
THIS.clientManagement = false;
THIS.datasource = ""; // Leaving black ==> "No data source specified."
// Setting to cfbookclub ==> "ORM is not
// configured for the current application."
// Setting to cfartgallery works but doesn't
// demonstrate use multiple DSNs
THIS.loginStorage = "cookie";
THIS.sessionManagement = true;
THIS.sessionTimeout = createTimeSpan(0, 0, 0, 0);
THIS.ormenabled = true;
THIS.ormsettings = {};
}
Vì vậy, bạn có phải giữ 'datasource =" xyz "' hardcoded (xyz) trong 'Artists.cfc' của bạn không? Hoặc tìm cách để làm cho nó năng động? – Sergii
@Sergii Tôi đã không làm việc nhiều với CF ORM vì giới hạn của chúng trên nhiều nguồn dữ liệu. Theo tôi hy vọng nó không đúng, tôi tin câu trả lời là nguồn dữ liệu phải được mã hóa cứng. Hy vọng rằng ai đó sẽ sửa tôi nếu tôi sai. Tôi coi việc viết mã cứng là thực hành lập trình kém, vì vậy tôi thực sự hy vọng mình sai. – Micah