Форум: "Базы";
Текущий архив: 2003.11.03;
Скачать: [xml.tar.bz2];
ВнизОшибка Index not found ? при попытке update dBase Найти похожие ветки
← →
MV-GROB (2003-10-09 19:02) [0]Госпада, кто нибудь сталкивался с Index not found. при попытке update dBase ? (ADODB.Connection, Microsoft.Jet.OLEDB.4.0)?
Вот код
<%
Dim dsn, conn, type_db,sSQL,RS
Set conn = Server.CreateObject("ADODB.Connection")
conn.CommandTimeout = 30
conn.ConnectionTimeout = 20
conn.Provider = "Microsoft.Jet.OLEDB.4.0"
conn.Properties("Extended Properties") ="dBase IV" conn.Properties("Data Source") = Server.Mappath("../Basa/")
conn.Open
set dbCmdCat = Server.CreateObject("ADODB.Command")
dbCmdCat.ActiveConnection = conn
Set RS = Server.CreateObject("ADODB.Recordset")
sSQL="Select * From Sc33"
RS.Open sSQL, Conn
idd=""
If (Not(RS.EOF))and(Not(RS.BOF)) Then
RS.MoveFirst()
for i=0 to RS.Fields.Count-1
Response.Write "<br>"
Response.Write RS.fields(i).Value
Response.Write "<br>"
Next
idd=RS.fields("ID").Value
End If
RS.Close
sSQL="Update Sc33 set DESCR="DESCR" WHERE ID=""+idd+"";"
dbCmdCat.CommandText = sSQL
RS = dbCmdCat.Execute()
Set RS = Nothing
Conn.Close
Set Conn = Nothing
Select работает
← →
sniknik (2003-10-09 19:15) [1]пара дополнительных вопросов
1: а индекс есть?
2: (очень важный, хотя может показатся не в тему) BDE стоит? на той машине где это выдает.
3: бейсик на дельфи поменять не хочеш? (просто спросил ;о))
← →
MV-GROB (2003-10-09 19:23) [2]sniknik
1.Да индекс есть , в томто и дело
Индех есть, он его видит (если удалить индекс он и select не делает сразу Index not found)
2.На счет BDE я понял - вчера скачал и поставил BDE 5,1,1
3. Дельфи вещь хорошая, но только (как и бейсик) при решении определенных задач
← →
sniknik (2003-10-09 19:26) [3]> 2.На счет BDE я понял - вчера скачал и поставил BDE 5,1,1
ну а помогло?
← →
MV-GROB (2003-10-09 19:28) [4]НЕТ . сегодня вес день промучился, и провайдеров менял, и драва, еще немного ... реестр ковырять начну (
← →
sniknik (2003-10-09 21:14) [5]а посмотри еще, BDE то встал? BDE administrator появился.
> провайдеров менял, и драва
jet? апдейтил?
← →
MV-GROB (2003-10-10 11:19) [6]sniknik © (09.10.03 21:14) [5]
Апдатил
← →
sniknik (2003-10-10 11:40) [7]ну тогда не знаю в чем может быть дело.
последняя попытка,
тут разбирался с одним запросом (на BDE гороздо быстрее чем адо, и почему), запрос на jet + dBase III, индекс *.NTX работает одинаково долго что с ним что без него. после переноса базы в access ситуация поменялась.
о чем это я, да есть подозрение что jet ntx индексы просто не видит. у тебя не такие?
хотя конечно такому Update индекс совсем не нужен.
ну и еще вариант (бредовое предположение, но всеже)
Update Sc33 set DESCR="DESCR" WHERE ID=""+idd+""
имя таблицы напоминает сравочник 1С (????), нет? просто если это 1С то правильно не видит, там признак индексированности в таблице стоит а индекс CDX вместо MDX.
← →
MV-GROB (2003-10-10 11:47) [8]sniknik © (10.10.03 11:40) [7]
Не какое не "бредовое предположение" 1С и есть и про "CDX вместо MDX" я в курсе
Что делать то?
А "там признак индексированности в таблице стоит " - означает что
если через индекс работать не надо (select) то проверяется этот признак, а запись уже ищет сам файл ?
← →
MV-GROB (2003-10-10 11:49) [9]МОЖНО ЛИ ИНДЕКС ЗАДАТЬ ЯВНО
← →
LordOfSilence (2003-10-10 11:57) [10]Вариант № 1: Delphi + Codebase
Вариант № 2: Что хочешь + MSSQL
← →
sniknik (2003-10-10 12:02) [11]MV-GROB © (10.10.03 11:47) [8]
> Не какое не "бредовое предположение" 1С и есть и про "CDX вместо MDX" я в курсе
ну так, догадатся то одному названию таблици, сложновато было. (ты всегда пиши что 1С, это такая спецефическая вещь, лишней информация не будет)
MV-GROB © (10.10.03 11:49) [9]
> МОЖНО ЛИ ИНДЕКС ЗАДАТЬ ЯВНО
только не в этом случае
> Что делать то?
я бы посоветовал переключится с jet на ODBC VFP driver, для 1С самое то.
← →
MV-GROB (2003-10-10 12:06) [12]sniknik © (10.10.03 12:02) [11]
"jet на ODBC VFP driver"
Не понял VFP - это что? (visual foxpro что ли)
← →
sniknik (2003-10-10 12:07) [13]строка подключения VFP в дельфях задается так
Provider=MSDASQL.1;Persist Security Info=False;Extended Properties="DRIVER={Microsoft Visual FoxPro Driver};UID=;SourceDB=d:\;SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Collate=RUSSIAN;Null=Yes;Deleted=Yes;"
как в бейсике ХЗ (у тебя и jet смотрю както странно задеется, не так), ну разберешся думаю.
← →
sniknik (2003-10-10 12:07) [14]MV-GROB © (10.10.03 12:06) [12]
ага он самый.
← →
MV-GROB (2003-10-10 14:02) [15]sniknik © (10.10.03 12:07) [13]
БОЛЬШОУЕ СПАСИБУО ТАВАРИЩ
Все заработало с таким текстом
Текст побключения к dBase dbf (1C) Для выполнения
Update ... (изменений)
----------------------------------------
Dim dsn, conn, type_db,sSQL,RS
Set conn = Server.CreateObject("ADODB.Connection")
conn.CommandTimeout = 30
conn.ConnectionTimeout = 20
cnct="Provider=MSDASQL.1;Persist Security Info=False;Extended Properties=DRIVER={Microsoft Visual FoxPro Driver};UID=;SourceDB=" & Server.Mappath("../Basa/") & ";SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Collate=RUSSIAN;Null=Yes;Deleted=Yes;"
conn.Open cnct
set dbCmdCat = Server.CreateObject("ADODB.Command")
dbCmdCat.ActiveConnection = conn
Set RS = Server.CreateObject("ADODB.Recordset")
-------------------------------Select
sSQL="Select * From Sc33"
RS.Open sSQL, Conn
idd=""
If (Not(RS.EOF))and(Not(RS.BOF)) Then
RS.MoveFirst()
for i=0 to RS.Fields.Count-1
Response.Write "<br>"
Response.Write RS.fields(i).Value
Response.Write "<br>"
Next
idd=RS.fields("ID").Value
End If
RS.Close
-------------------------------Update
sSQL="Update Sc33 set DESCR="DESCR" WHERE ID=""+idd+"";"
dbCmdCat.CommandText = sSQL
RS = dbCmdCat.Execute()
Set RS = Nothing
Conn.Close
Set Conn = Nothing
-----------------------------------------
← →
MV-GROB (2003-10-13 19:49) [16]олпдолрлдо
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.11.03;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.012 c