powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / FoxPro baza dannih i otcheti v C++ builder 6
9 сообщений из 9, страница 1 из 1
FoxPro baza dannih i otcheti v C++ builder 6
    #33896901
dj_raven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Problemma sledujuschaja. Estj baza dannih, lezhit na servere. Connect iz C++ proishodit zaschet *.dsn fajlov. Iz drajverov stoit "Microsoft OLE DB provider for Visual FoxPro (vfpoledb.exe)" i "Visual FOXPRO ODBC driver (VFPODBC.msi)". soderzhanije "vfp hall.dsn" fajla sledujuscheje:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
[ODBC]
DRIVER=Microsoft Visual FoxPro Driver
UID=
Deleted=Yes
Null=Yes
Collate=Machine
BackgroundFetch=Yes
Exclusive=No
SourceType=DBC
SourceDB=C:\DOCUMENTS AND SETTINGS\PBEZDENEZNIH\MY DOCUMENTS\VISUAL FOXPRO PROJECTS\DLV MAIN DATABASE\DATABASE1\GAMEHALLDLV.DBC

Problemma sluchilasj sledujuschaja, na odnom iz kompjuterov TADOConnection komponent nachal rugatsja na .dsn fajl, soobschenije sledujuscheje: "The file is not a valid compound file". Po mojemu mneniju, sletel drajver na tom kompe. Pereinstaljacija ne pomogla. Mozhno li eto kak-to ispravitj?
...
Рейтинг: 0 / 0
FoxPro baza dannih i otcheti v C++ builder 6
    #33898035
Alexey-M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если бы ты показал код, было бы попроще разобраться.
...
Рейтинг: 0 / 0
FoxPro baza dannih i otcheti v C++ builder 6
    #33898137
dj_raven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
   AnsiString inf, curdir;
   TLocateOptions Opts;
   Opts.Clear();
   AnsiString temp;
   Opts << loPartialKey;

   try{
      curdir=ParamStr( 0 );
     curdir.Delete(curdir.LastDelimiter("\\"),curdir.Length()-curdir.LastDelimiter("\\")+ 1 );
      curdir+="\\";
   }
   catch(...){
      Application->MessageBoxA("dir", "err", MB_OK);
   }

   try{
      ADOConnection2->Connected=false;
      temp="FileDSN="+curdir+"vfp settings.dsn";
      TIniFile *FConfig=new TIniFile(curdir+"VFP settings.dsn");
      curdir=curdir.SetLength(curdir.Length()- 1 );
      FConfig->WriteString("ODBC", "SourceDB", curdir);
      FConfig->UpdateFile();
      delete FConfig;
      curdir+="\\";

      ADOConnection2->ConnectionString=temp;
      ADOConnection2->Connected=true;
   }
   catch(...){
      Application->MessageBoxA(strcat("Connection2: ",temp.c_str()), "datmod4", MB_OK);
      if(ADOConnection2->Connected==true)
         Application->MessageBoxA("Connection2: connected", "datmod4", MB_OK);
}

   try{
      Cfg->Active=true;
      Cfg->Locate("Entry_name", "gh_path", Opts);
      inf=CFG_DS->DataSet->FieldValues["Entry_val2"];
      inf=inf.TrimRight();
   }
   catch(...){
      Application->MessageBoxA("Locate", "err", MB_OK);
   }

   try{
      TIniFile *FConfig=new TIniFile(curdir+"VFP hall.dsn");
      FConfig->WriteString("ODBC", "SourceDB", inf);
      FConfig->UpdateFile();
      delete FConfig;
   }
   catch(...){
      Application->MessageBoxA("file", "err", MB_OK);
   }

   try{
      ADOConnection1->Connected=false;
      temp="FILE NAME="+curdir+"VFP hall.dsn";


      ADOConnection1->ConnectionString=temp;
      ADOConnection1->Connected=true;
   }
   catch(...){
      Application->MessageBoxA("Connection1", "err", MB_OK);
   }


Eto vsje ne rabotajet tolko na odnom kompe, na vseh ostalnih bez problem. Porchital tut odnu vozmozhnostj reshitj etu problemmu. Nuzhno .dsn fajli v Unicode chtobi bili. No TIniFile ne rabotajet v Unicode. A standartnimi funkcijami slishkom gemorojno, mozh jestj kakije idei?
P.S. Eta oshibka voznikajet tolko na winXP SP2
...
Рейтинг: 0 / 0
FoxPro baza dannih i otcheti v C++ builder 6
    #33898463
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что мешает создать udl файл и использовать его ?

тоесть создаете файл например cnt.udl
в нем ничего не пишете , сохраняете , два раза по нему кликаем делаем настройки, а в коде уже юзаем


Код: plaintext
1.
2.
  ADOConnection2->Connected=false;
  ADOConnection2->ConnectionString = "FILE NAME=cnt.udl";

что то в таком духе.
...
Рейтинг: 0 / 0
FoxPro baza dannih i otcheti v C++ builder 6
    #33899265
dj_raven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pri primenenii udl fajlov viskakivajet tkaja oshibka:
SQL: GROPUP BY clause is missing or invalid
zapros sledujuschij:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
SELECT Gh_fields.id, Gh_fields.table_id, Gh_data.field_id,
  Gh_data.main_id, Gh_fields.field_name, Gh_data.data, Gh_data.mode_id
 FROM  gamehalldlv!gh_fields LEFT OUTER JOIN gamehalldlv!gh_data 
   ON  Gh_fields.id = Gh_data.field_id
 WHERE Gh_fields.table_id =  2 
   AND Gh_data.mode_id =  1 
 ORDER BY Gh_fields.table_id, Gh_fields.id
Group by Gh_fields.id
...
Рейтинг: 0 / 0
FoxPro baza dannih i otcheti v C++ builder 6
    #33900653
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А может

Код: plaintext
1.
2.
group by Gh_fields.id, Gh_fields.table_id, Gh_data.field_id,
  Gh_data.main_id, Gh_fields.field_name, Gh_data.data, Gh_data.mode_id
...
Рейтинг: 0 / 0
FoxPro baza dannih i otcheti v C++ builder 6
    #33901591
дед Макар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dj_ravenpri primenenii udl fajlov viskakivajet tkaja oshibka:
SQL: GROPUP BY clause is missing or invalid
zapros sledujuschij:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
SELECT Gh_fields.id, Gh_fields.table_id, Gh_data.field_id,
  Gh_data.main_id, Gh_fields.field_name, Gh_data.data, Gh_data.mode_id
 FROM  gamehalldlv!gh_fields LEFT OUTER JOIN gamehalldlv!gh_data 
   ON  Gh_fields.id = Gh_data.field_id
 WHERE Gh_fields.table_id =  2 
   AND Gh_data.mode_id =  1 
 ORDER BY Gh_fields.table_id, Gh_fields.id
Group by Gh_fields.id


Сначала всегда идет Group BY а затем уж ORDER...
...
Рейтинг: 0 / 0
FoxPro baza dannih i otcheti v C++ builder 6
    #33901595
дед Макар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dj_ravenpri primenenii udl fajlov viskakivajet tkaja oshibka:
SQL: GROPUP BY clause is missing or invalid
zapros sledujuschij:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
SELECT Gh_fields.id, Gh_fields.table_id, Gh_data.field_id,
  Gh_data.main_id, Gh_fields.field_name, Gh_data.data, Gh_data.mode_id
 FROM  gamehalldlv!gh_fields LEFT OUTER JOIN gamehalldlv!gh_data 
   ON  Gh_fields.id = Gh_data.field_id
 WHERE Gh_fields.table_id =  2 
   AND Gh_data.mode_id =  1 
 ORDER BY Gh_fields.table_id, Gh_fields.id
Group by Gh_fields.id


а учитывая то, что здесь не используются агрегатные функции, становится непонятным применение GROUP by
...
Рейтинг: 0 / 0
FoxPro baza dannih i otcheti v C++ builder 6
    #33902348
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хмм , действительно ...
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / FoxPro baza dannih i otcheti v C++ builder 6
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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