Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.08.28;
Скачать: [xml.tar.bz2];

Вниз

Не отрабатывает SQL-запрос на вставку?   Найти похожие ветки 

 
r900   (2003-08-01 12:47) [0]

Большой запрос на вставку записи отрабатывает на Query Analyzer-стандартном средстве MSSQL-сервере, а в программе этот же запрос не отрабатывает. Подозреваю, что виноваты настройки BDE. Изменил параметры bath count=10000,blob size=10000,blobs to cache=10000,
не хочет выполнять. Использую ODBC-драйвера, стандартные настройки, не хочет, установил bath count=1000 не хочет выполнять.
Что делать? Какие еще параметры изменить? В таблице используются некоторые поля типа-text(16).


 
passm   (2003-08-01 13:22) [1]

Не плохо было бы привести текст ошибки.
Возможно причина в размере журнала транзакций. Но я мало знаком с MS SQL.


 
MsGuns   (2003-08-01 13:26) [2]

Похоже, мотыга в Local SQL


 
ЮЮ   (2003-08-01 13:47) [3]

Что значит большой запрос на вставку? Как (посреддством чего) он выполняется в программе? Что значит не отрабатывает?


 
r900   (2003-08-01 13:50) [4]

Сообщение об ошибке такое:
Proyect * raised exception class Edatabaseerror with message "query1: Field""is of an unknown type".
Но дело в том что этот же запрос отрабатывает в программе
Query Analyzer прекрасно не выдавая ошибок.


 
Johnny Smith   (2003-08-01 13:55) [5]

А текст можно глянуть? Не военная тайна?


 
passm   (2003-08-01 14:04) [6]

r900 (01.08.03 13:50)> Если есть параметры, то все определил (тип, значение)?


 
r900   (2003-08-01 14:40) [7]

В программе он выполняется через компонент query.


Сами просили запрос? Получайте:

Insert Into reflector(Hoop,Link,Graph2,Graph3,Shema) values ("Малое кольцо ЦТ Онтустик","2607 АТС64 -ШР6447(вр.сл 2608)","Расстояние от ШР 6447 до АТС 64 - 6160,3
Разрыв листа
Стена здания: 6152,3
Разрыв листа
Колодец № 354
Расстояние от ШР 6447 - 12,0
Расстояние от АТС 64 - 6148,8
Адрес колодца: пр.Достык
Номер канала от
ШР 6447 - 4
Колодец №225
Расстояние от ШР 6447 - 2411,7
Расстояние от АТС 64 - 3749,2
Адрес колодца: пр.Достык
Номер канала от
ШР 6447 - 1
Разрыв листа
Колодец № 224
Расстояние от ШР 6447 - 2431,2
Расстояние от АТС 64 - 3729,7
Адрес колодца: пр.Достык
Номер канала от
ШР 6447 - 6
Разрыв листа
Колодец №
Расстояние от АТС
Расстояние от АТС
Адрес колодца:
Номер канала от
АТС
Разрыв листа
Колодец №
Расстояние от АТС
Расстояние от АТС
Адрес колодца:
Номер канала от
АТС
Разрыв листа
Колодец №223
Расстояние от ШР 6447 - 2526,1
Расстояние от АТС 64 - 3684,8
Адрес колодца: пр.Достык
Номер канала от
ШР 6447 - 7
Разрыв листа
Колодец № 699
Расстояние от ШР 6447 - 2562,1
Расстояние от АТС 64 - 3598,8
Адрес колодца: пр.Достык
Номер канала от
ШР 6447 - 6
Разрыв листа
Колодец № 221
Расстояние от ШР 6447 - 2580,1
Расстояние от АТС 64 - 3580,8
Адрес колодца: пр.Достык
Номер канала от
ШР 6447 - 8
Разрыв листа
Колодец № 220
Расстояние от ШР 6447 - 2631,6
Расстояние от АТС 64 - 3529,3
Адрес колодца: пр.Достык
Номер канала от
ШР 6447 - 6
Разрыв листа
Колодец № 219
Расстояние от ШР 6447 - 2741,6
Расстояние от АТС 64 - 3419,3
Адрес колодца: пр.Достык
Номер канала от
ШР 6447 - 6
Номер канала от
ШР 6447 - 6
Разрыв листа
[ ]
2740
1863
70
8
2
2698
1859
[ ]
2670
1863
70
8
2
2628
1859
[ ]
2600
1863
70
8
2
2558
1859
[ ]
2530
1863
70
8
2
2488
1859
[ ]
2460
1863
70
8
2
2418
1859
[ ]
2390
1863
70
8
2
2348
1859
[ ]
2320
1863
70
8
2
2278
1859
[ ]
2250
1863
70
8
2
2208
1859
[ ]
2180
1863
70
8
2
2138
1191
1834
0
11
1124
1834
0
12
1044
1836
0
688
975
1834
0
689
908
1833
0
857
839
1835
0
858
767
1833
0
859
697
1831
0
860
628
1835
0
861
550
1848
0
862
480
1848
0
863
408
1851
0
864
338
1849
0
865
272
1849
0
866
200
1849
0
867
129
1850
0
868
61
1849
0
869
78
2018
0
870
127
2019
0
871
197
2017
0
872
402
2052
0
875
260
2031
0
873
331
2043
0
874
475
2061
0
876
557
2069
0
877
642
2076
0
878
722
2143
0
879
744
2221
0
880
771
2286
0
881
845
2305
0
882
909
2306
0
883
1003
2309
0
884
1111
2324
0
885
1108
2182
0
13
832
2210
0
АТС "Южная"
975
2143
0
Шахта:
963
2161
0
запас 8,0 м
906
2162
0
ОУ
46
1747
0
Знак до Медео 5000,0 м
486
1737
0
Дорога на Медео
","Schema")

Т.е. в одном поле большой объем информации, который я здесь
не могу привести из-за ограничений.


 
Johnny Smith   (2003-08-01 14:49) [8]

:))))))
Так, батенька!
Не кажется ли Вам, что такие вещи в тексте запроса, как "Шахта:" намекают на то, что за двоеточием должен идти параметр! И СУБД, получив такой запрос, ждет сам параметр.
Не валяйте дурака, используйте параметры и будет Вам счастье!
А не верите, уберите двоеточие из запроса и выполните его еще раз.


 
Johnny Smith   (2003-08-01 14:51) [9]

Поясню.
Просто поменяйте текст запроса на:
Insert Into reflector(Hoop,Link,Graph2,Graph3,Shema) values (:Hoop,:Link,:Graph2,:Graph3,:Shema)
и параметрам передайте строковые значения.


 
ЮЮ   (2003-08-01 14:52) [10]

Засунь в Query и посмотри не появилось ли чего в Params.
Если, вдруг, появилось, то сделай параметры сам, а не жди этого от Query:

Insert Into reflector(Hoop,Link,Graph2,Graph3,Shema) values
(:Hoop,:Link,:Graph2,:Graph3,:Shema)

Query.Params[0].asString := "Малое кольцо ЦТ Онтустик";
...


 
passm   (2003-08-01 14:54) [11]

Ничего себе раскладик в песочнице :)

Query.SQL.Text:=
"Insert Into reflector " +
"(Hoop, Link, Graph2, Graph3, Shema) " +
"values(:Hoop, :Link,: Graph2,: Graph3,:Shema)"

Query.ParamByName("Hoop").DataType:= ftString;
Query.ParamByName("Hoop").AsString:= "Малое кольцо ЦТ Онтустик"
...


 
KSergey   (2003-08-01 15:11) [12]

Немного уточню, надеюсь - что не ошибаюсь.
По поводу

Johnny Smith © (01.08.03 14:49)
И СУБД, получив такой запрос, ждет сам параметр.


Не СУБД а дельфийские компоненты, которые придполагают, что двоеточие в запросе надо трактовать как начало параметра.
К стати, а это безобразие где-то отключается? Просто из любопытства спрашиваю...


 
paxer   (2003-08-01 15:15) [13]

По идее CheckParams


 
Johnny Smith   (2003-08-01 15:17) [14]

2KSergey © (01.08.03 15:11)
Не СУБД а дельфийские компоненты, которые придполагают, что двоеточие в запросе надо трактовать как начало параметра.
Попробуйте, прогоните такой запрос с двоеточиями на чистых API.
Мне не приходилось работать с API MSSQL"я, но с Oracle"овскими OCI я напрыгался в свое время. Могу заявить - именно сервер в такой ситуации распознает двоеточия как параметры. Что, в свою очередь, не мешает сделать то же самое БДЕ-шным компонентам.


 
Johnny Smith   (2003-08-01 15:18) [15]

2KSergey © (01.08.03 15:11)
ЗЫ
Мое скромное мнение подтверждается документацией :))))))


 
MsGuns   (2003-08-01 15:33) [16]

Да уж, а мотыга вместе с граблями всеж-таки в эскюэле ;)))

Вообще, проще надо быть товарищи, проще и скромнее. И не пхать в бидэшные запросы всю байду, которая собиралась специализированными инструменами.
Подавится ведь ;(


 
r900   (2003-08-05 12:04) [17]

Спасибо всем за помощь. Получилось!



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2003.08.28;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.005 c
11-92090
nsvi
2002-12-19 14:43
2003.08.28
Возникла проблема. Не могу вызвать вторую - модальную форму.


7-92266
Mear
2003-06-17 03:23
2003.08.28
Количество повторов чтения...


6-92158
Hogo
2003-06-03 12:17
2003.08.28
Объект на основе TIdConnectionIntercept


4-92319
Dmitriy M. Volkov
2003-06-22 19:12
2003.08.28
ALT+Tab, WinKey


3-92034
jack128
2003-08-04 14:39
2003.08.28
Выборка по дате





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский