Jakie są szczegóły dotyczące używania CF_SQL_NVARCHAR w ColdFusion 10?
Dokumentacja ColdFusion 10 dotycząca aktualizacji bazy danych zawiera sekcjęUdoskonalenia związane z bazą danych w ColdFusion 10. Ta strona wspomina, że jest teraz wsparcie dlaCF_SQL_NVARCHAR
między innymi, ale bez szczegółów na ich temat. Dodatkowodokumentacja cfqueryparam nie został zaktualizowany, aby uwzględnić ich istnienie.
TheDokumentacja ColdFusion 9 dla cfqueryparam wspomina o tymCF_SQL_VARCHAR
mapy dovarchar
w MSSQL. To prawda, chyba że administrator ColdFusionustawienia źródła danych zawieraString Format
ustawienie włączone. W którym to przypadkuCF_SQL_VARCHAR
mapy donvarchar
. Ta słabo udokumentowana funkcja to hack, który możepowodować problemy z wydajnością w ColdFusion.
Więc to świetnie, że się wprowadziliCF_SQL_NVARCHAR
, ale dobrze byłoby zrozumieć, jak to działa. Jest to po prostu alias dlaCF_SQL_VARCHAR
czy to bezcelowe? Czy zawsze wysyła ciągi jakonvarchar
? Jeśli tak, to takCF_SQL_VARCHAR
zawsze wysyłajvarchar
?
Mam nadzieję, że ze względu na wsteczną kompatybilność jest on zaimplementowany jako taki:
JeśliString Format
jest włączonyCF_SQL_VARCHAR
iCF_SQL_NVARCHAR
obie mapy donvarchar
.
JeśliString Format
jest wtedy wyłączonyCF_SQL_VARCHAR
mapy dovarchar
iCF_SQL_NVARCHAR
mapy donvarchar
.
Oznaczałoby to, że wszystkie witryny sprzed CF10 mogą przejść na CF10 i działać, z takimi samymi względami wydajnościowymi jak przed CF10.
Nowe witryny lub witryny, które przepisują wszystkie zapytania w celu dopasowaniaCF_SQL_VARCHAR
iCF_SQL_NVARCHAR
dzięki projektowi bazy danych nie zostanie obniżona wydajność, której nie można uniknąć przed CF10.
Czy każdy może potwierdzić, że tak jest; jeszcze lepiej, jeśli masz coś oficjalnego?