Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Проблемма в сквозном Sql запросе 2 / 25 сообщений из 25, страница 1 из 1
17.10.2005, 11:35:39
    #33327584
vok
vok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемма в сквозном Sql запросе 2
Уважаемые!
У меня проблемма. Когда делаю запрос типа
SQLEXEC(SS,'Select ZZZ,'Mycursor') если ZZZ имеет длинну больше чем 256 символов Fox выдает ошибку. Что делать?

И еще. Чем можно заменить синтаксис Left outer join? Я знаю, что это то же самое что Left join, но по моему это конструкция еще связано и с =*. Этим я смогу уменшить длину выше упомянутого ZZZ
Подскажите если можете...
...
Рейтинг: 0 / 0
17.10.2005, 11:45:40
    #33327614
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемма в сквозном Sql запросе 2
1. Не надо плодить топики. Если хочешь "поднять" свою тему

http://www.sql.ru/forum/actualthread.aspx?tid=226271

Добавь там ответ от себя.

Вкратце: Надо использовать не строковую константу, а строковую переменную.

2. Синтаксис "=*" не надо использовать ни в коем случае . Он оставлен для совместимости. Его использование в MS SQL 2000 приводит к появлению "дублей". Работает весьма "криво"
...
Рейтинг: 0 / 0
17.10.2005, 12:05:25
    #33327669
vok
vok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемма в сквозном Sql запросе 2
Я сделал так как Вы посоветовали. Результат то же самое... :(
...
Рейтинг: 0 / 0
17.10.2005, 12:11:28
    #33327684
vok
vok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемма в сквозном Sql запросе 2
Приведу к примеру скрипт
Local zzz
zzz='abc'+'xyz'+'mnr'
SQLEXEC(SS,'&zzz','Mycursor')
Где ошибка?
...
Рейтинг: 0 / 0
17.10.2005, 12:37:27
    #33327769
vok
vok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемма в сквозном Sql запросе 2
Все у меня получилось. Просто, вместо Local надо было объявить Public.
Спасибо Владимиру.
...
Рейтинг: 0 / 0
17.10.2005, 12:42:16
    #33327786
vok
vok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемма в сквозном Sql запросе 2
Извените ошибся, не пашет.
...
Рейтинг: 0 / 0
17.10.2005, 12:54:03
    #33327843
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемма в сквозном Sql запросе 2
vokПриведу к примеру скрипт
Local zzz
zzz='abc'+'xyz'+'mnr'
SQLEXEC(SS,'&zzz','Mycursor')
Где ошибка?
Макроподстановка лишняя. Надо просто
Код: plaintext
1.
2.
3.
Local zzz
zzz='abc'+'xyz'+'mnr'
SQLEXEC(SS,m.zzz,'Mycursor')
...
Рейтинг: 0 / 0
17.10.2005, 12:59:31
    #33327866
vok
vok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемма в сквозном Sql запросе 2
Local zzz
zzz='abc'+'xyz'+'mnr'
SQLEXEC(SS,m.zzz,'Mycursor')
[/src][/quot]


m.zzz ? m. откуда взялся?
...
Рейтинг: 0 / 0
17.10.2005, 13:24:09
    #33327951
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемма в сквозном Sql запросе 2
...
Рейтинг: 0 / 0
17.10.2005, 13:52:33
    #33328054
vok
vok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемма в сквозном Sql запросе 2
ВладимирМ vokПриведу к примеру скрипт
Local zzz
zzz='abc'+'xyz'+'mnr'
SQLEXEC(SS,'&zzz','Mycursor')
Где ошибка?
Макроподстановка лишняя. Надо просто
Код: plaintext
1.
2.
3.
Local zzz
zzz='abc'+'xyz'+'mnr'
SQLEXEC(SS,m.zzz,'Mycursor')


Без макроса вообще не работает, а с макросом когда 'zzz'>256
...
Рейтинг: 0 / 0
17.10.2005, 14:19:22
    #33328153
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемма в сквозном Sql запросе 2
vokБез макроса вообще не работает, а с макросом когда 'zzz'>256
Поиск ошибки:

Код: plaintext
1.
2.
3.
4.
5.
IF SQLExec(...)< 1 
	LOCAL laError( 1 )
	=AERROR(laError)
	* Смотрим содержимое массива laError для уточнения причины ошибки
ENDIF

Если и это не поможет, приводи полностью код твоего SELECT. Точнее, как формируешь содержимое переменной zzz.
...
Рейтинг: 0 / 0
17.10.2005, 14:31:36
    #33328192
vok
vok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемма в сквозном Sql запросе 2
"Command contains unrecognized phrase/keyword"

laerror[1]=1526
...
Рейтинг: 0 / 0
17.10.2005, 14:34:28
    #33328202
vok
vok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемма в сквозном Sql запросе 2
zzz='SELECT arcivaversi..EKIMIARC.*,CONVERT(VARCHAR,TAR,103) AS AAA,TAN1 AS TANAMD1,REGION1 AS REGION2 FROM arcivaversi..EKIMIARC LEFT JOIN TANAMDEB ON TANAMD=ID_TAN LEFT JOIN REGION ON REGION=ID_REG'+" "+;
+'XARISXI ON XARISXI=ID_XAR '+'WHERE KOD4=?HH2KOD AND PTICHKA=?RR20 ORDER BY KOD5 DESC'
...
Рейтинг: 0 / 0
17.10.2005, 14:45:27
    #33328237
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемма в сквозном Sql запросе 2
vokzzz='SELECT arcivaversi..EKIMIARC.*,CONVERT(VARCHAR,TAR,103) AS AAA,TAN1 AS TANAMD1,REGION1 AS REGION2 FROM arcivaversi..EKIMIARC LEFT JOIN TANAMDEB ON TANAMD=ID_TAN LEFT JOIN REGION ON REGION=ID_REG'+" "+;
+'XARISXI ON XARISXI=ID_XAR '+'WHERE KOD4=?HH2KOD AND PTICHKA=?RR20 ORDER BY KOD5 DESC'
Ну, так и записал бы все это в "читабельном" виде

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
zzz= ;
	'SELECT '+;
		'arcivaversi..EKIMIARC.*,'+;
		'CONVERT(VARCHAR,TAR,103) AS AAA,'+;
		'TAN1 AS TANAMD1,'+;
		'REGION1 AS REGION2'+
	' FROM arcivaversi..EKIMIARC'+;
	' LEFT JOIN TANAMDEB ON TANAMD=ID_TAN'+;
	' LEFT JOIN REGION ON REGION=ID_REG'+;
	****** А вот это что такое ???
	" "+'XARISXI ON XARISXI=ID_XAR '+;
	********
	' WHERE KOD4=?HH2KOD AND PTICHKA=?RR20'+;
	' ORDER BY KOD5 DESC'

И читать проще, и все ошибки сразу в глаза бросаются.
...
Рейтинг: 0 / 0
17.10.2005, 15:06:33
    #33328310
vok
vok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемма в сквозном Sql запросе 2
ВладимирМ vokzzz='SELECT arcivaversi..EKIMIARC.*,CONVERT(VARCHAR,TAR,103) AS AAA,TAN1 AS TANAMD1,REGION1 AS REGION2 FROM arcivaversi..EKIMIARC LEFT JOIN TANAMDEB ON TANAMD=ID_TAN LEFT JOIN REGION ON REGION=ID_REG'+" "+;
+'XARISXI ON XARISXI=ID_XAR '+'WHERE KOD4=?HH2KOD AND PTICHKA=?RR20 ORDER BY KOD5 DESC'
Ну, так и записал бы все это в "читабельном" виде

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
zzz= ;
	'SELECT '+;
		'arcivaversi..EKIMIARC.*,'+;
		'CONVERT(VARCHAR,TAR,103) AS AAA,'+;
		'TAN1 AS TANAMD1,'+;
		'REGION1 AS REGION2'+
	' FROM arcivaversi..EKIMIARC'+;
	' LEFT JOIN TANAMDEB ON TANAMD=ID_TAN'+;
	' LEFT JOIN REGION ON REGION=ID_REG'+;
	****** А вот это что такое ???
	" "+'XARISXI ON XARISXI=ID_XAR '+;
	********
	' WHERE KOD4=?HH2KOD AND PTICHKA=?RR20'+;
	' ORDER BY KOD5 DESC'

И читать проще, и все ошибки сразу в глаза бросаются.

Отпечатка - у меня в проге 'LEFT JOIN XARISXI ON XARISXI=ID_XAR '
...
Рейтинг: 0 / 0
17.10.2005, 15:29:44
    #33328391
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемма в сквозном Sql запросе 2
В Query Analyser этот запрос выполняется, если заменить параметры на константы?

И еще, в массиве AERROR надо смотреть не значение первого элемента (там всегда будет 1526), а значения 3 и 4 элемента. Проще всего это делать в окне Debagger - Local Window
...
Рейтинг: 0 / 0
17.10.2005, 15:37:40
    #33328423
vok
vok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемма в сквозном Sql запросе 2
В Query Analyser-е этот запрос выподняется прекрасно
...
Рейтинг: 0 / 0
17.10.2005, 15:53:54
    #33328487
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемма в сквозном Sql запросе 2
Ну, так и скопируй его один в один, разбив на куски и не забыв про пробелы перед и после ключевых слов.
...
Рейтинг: 0 / 0
17.10.2005, 16:06:34
    #33328530
vok
vok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемма в сквозном Sql запросе 2
:) в FOX-e не пашет. Мы пришли опять к тому от куда и начали:)
Сегодня мне пришлось добавить в запросе
LEFT Join XARISXI ON XARISXI=ID_XAR ЭТО вызвало переполнения строки (стало больше чем 256 символов) и запрос прекратил работать.
...
Рейтинг: 0 / 0
17.10.2005, 16:16:13
    #33328559
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемма в сквозном Sql запросе 2
Нет, Вы не поняли.

Напишите присвоение переменной ZZZ в том виде, что я привел в примере. Т.е. каждый фрагмент должен целиком умещаться на экране. Без дополнительной прокрутки. Каждая строка завершается кавычками и плюсом.

Причем еще желательно, чтобы эти куски были логически завершенными. Так проще просматривать и модифицировать.

PS: Ну нет никакого ограничения на 256 символов. Это значит, что Вы вместо символьной переменной опять пытаетесь впихнуть символьную константу.
...
Рейтинг: 0 / 0
17.10.2005, 16:22:36
    #33328574
vok
vok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемма в сквозном Sql запросе 2
Извените, но я не вижу здесь символьных констант
'SELECT '+' arcivaversi..EKIMIARC.*,'+;
'CONVERT(VARCHAR,TAR,103) AS AAA,'+;
'TAN1 AS TANAMD1,'+;
' REGION1 AS REGION2 '+;
' FROM arcivaversi..EKIMIARC'+;
' LEFT JOIN TANAMDEB ON TANAMD=ID_TAN'+;
' LEFT JOIN REGION ON REGION=ID_REG'+;
' LEFT JOIN XARISXI ON XARISXI=ID_XAR '+;
' WHERE KOD4=?HH2KOD AND PTICHKA=?RR20'+;
' ORDER BY KOD5 DESC'
...
Рейтинг: 0 / 0
17.10.2005, 16:43:08
    #33328633
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемма в сквозном Sql запросе 2
Ну, и что в сообщении об ошибке? Это 2,3,4 элементы массива laError.
...
Рейтинг: 0 / 0
18.10.2005, 11:43:15
    #33329935
vok
vok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемма в сквозном Sql запросе 2
Спасибо Владимир, все у меня получилось благодаря Вас.
Thanks
...
Рейтинг: 0 / 0
18.10.2005, 12:16:48
    #33330061
5631
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемма в сквозном Sql запросе 2
Столько мучений! И все ради чего ?
При помощи обычного Accessa на сервере легко создается хранимая прцедура,
которая потом из VFP вызывается с параметрами.
...
Рейтинг: 0 / 0
18.10.2005, 13:50:30
    #33330387
1024
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемма в сквозном Sql запросе 2
куерианалайзером процедуры создавать ещё легче. Но зачем делать процедуру
для обычного запроса?


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Проблемма в сквозном Sql запросе 2 / 25 сообщений из 25, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]