Тема: Довжина рядка SQL запиту
Підкажіть будь-ласка чи є обмеження у величині рядка SQL запиту???
І чи є можливість його збільшити???
база даних Access 2003 року
SQL запити пишу в Delphi
adoQrMainCoins.SQL.Add('??? ')Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → Бази даних → Довжина рядка SQL запиту
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися
Підкажіть будь-ласка чи є обмеження у величині рядка SQL запиту???
І чи є можливість його збільшити???
база даних Access 2003 року
SQL запити пишу в Delphi
adoQrMainCoins.SQL.Add('??? ')Повинно бути 65536 байт, тобто якщо 2 байти на символ то 32768 символів на запит.
Ось як можна при потребі сплітити запити:
adoQrMainCoins.SQL.Clear;
adoQrMainCoins.SQL.Add('SELECT ID, Name, Description');
adoQrMainCoins.SQL.Add('FROM Coins');
adoQrMainCoins.SQL.Add('WHERE Value > 1000'); Або ж використовувати в'юхи (view).
Повинно бути 65536 байт, тобто якщо 2 байти на символ то 32768 символів на запит.
Ось як можна при потребі сплітити запити:
adoQrMainCoins.SQL.Clear; adoQrMainCoins.SQL.Add('SELECT ID, Name, Description'); adoQrMainCoins.SQL.Add('FROM Coins'); adoQrMainCoins.SQL.Add('WHERE Value > 1000');Або ж використовувати в'юхи (view).
Дякую за інформацію.
Для вирівнювання тексту запиту я ще натикав пробілів то вони також йдуть як символ??
'amsMainCoins.IDMainCoins, msMainCoinGain.MainCoinGain, '+
'msMainDateGain.MainDateGain, msMainCoinSource.MainCoinSource, '+
'msTypeCompani.TypeCompani, msMainProviderCoin.MainProviderCoin, '+може краще переробити таким чином
'amsMainCoins.IDMainCoins, '+ ' msMainCoinGain.MainCoinGain, '+Пробіли це теж символ. Для форматування використовувати пробіли теоретично можна, але корисного навантаження вони не несуть.
Так само невідомо чи запитання про максимальну кількість символів предметне, тобто чи вже досягли максимуму. Якщо так, тоді просто можна розділити запит на декілька рядків, як показано вище. Але такі гігантські запити рідко зустрічаються. Виникає запитання, навіщо. Гігантські запити важко мейнтейнити, варто подумати як спростити.
Перший раз чую, щоб SQL.Add('??? ') мав якісь особливі обмеження на довжину. Стандартне обмеження на довжину рядків в Делфі - 2 Гб. Це обмеження стосується усіх рядків, не лише параметру SQL.Add.
Що стосується обмеження в 65 Кб, то ви напевне плутаєте з VCL компонентами типу Мемо. Мемо є тонкою обгорткою над старими віндовими контролами, і у нього дійсно є обмеження на довжину рядка, яке накладає сама вінда.
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися