|
|
|
DB_Vista! Экспорт данных. Кто-нибудь еще с оным работает?!
|
|||
|---|---|---|---|
|
#18+
Поиском пользовалась, не спасло. Подскажите 2 вопроса: 1) некая утилита dbexp.exe - или где ее можно взять нормальную или что это за ошибка вылезает: Exporting contents of data file 'basa.d01' Exporting contents of data file 'basa.d02' Record type DEPARTMENT into file name departme.txt ***FATAL ERROR*** unable to write to file. The disk may be full. Terminating export. 2) что/куда нужно подключить в Си-шному файлу, что подцепиться к этой базе? Что бы использовать хоть одну из комманд http://www.ousob.com/ng/dbvista/ng2ad.php В оставленых кодах предыдущим программистом я нашла только файл vista.h, где описание функций/переменных есть, а вот кода уже нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2008, 18:07 |
|
||
|
DB_Vista! Экспорт данных. Кто-нибудь еще с оным работает?!
|
|||
|---|---|---|---|
|
#18+
ныш, ----------------------------------main.cpp------------------------ #include <iostream.h> #include <stdio.h> #include <string> #include <vista.h> #include "d_123.h" namespace { const long c_lNotCreatedKey = -1; const char * c_szFirstSubrecord = "First subrecord"; const char * c_szSecondSubrecord = "Second subrecord"; } /*-------------------------------------------------------------------*/ long CreateNewMyTestRecord_nl() { long lKeyCreated = c_lNotCreatedKey; my_test_record m_t_rec; memset(&m_t_rec, 0, sizeof(my_test_record)); long lKey = 0; if(d_keylast(L_UKEY) == S_OKAY) { d_keyread(&lKey); printf("Last found key is %d\n", lKey); lKey++; } m_t_rec.l_ukey = lKey; if(d_fillnew(MY_TEST_RECORD, &m_t_rec) != S_OKAY) { printf("\nAdding new record failed\n"); } else { lKeyCreated = lKey; } return lKeyCreated; } /*-------------------------------------------------------------------*/ long CreateNewMyTestRecord() { long lKeyCreated = c_lNotCreatedKey; if(d_trbegin("New_my_test_record") == S_OKAY) { printf("\nCreation of my test record started\n"); LOCK_REQUEST request; request.item = MY_TEST_RECORD; request.type = 'w'; if(d_lock(1, &request) != S_OKAY) { printf("\nUnable to lock record MY_TEST_RECORD\n"); } else { lKeyCreated = CreateNewMyTestRecord_nl(); if(lKeyCreated != c_lNotCreatedKey) { d_trend(); printf("\nTransaction finished - success (record creation)\n"); } else { d_trabort(); printf("\nTransaction aborted (record creation)\n"); } } } // trbegin return lKeyCreated; } /*-------------------------------------------------------------------*/ bool FindByKey(long lKey) { bool bFound = false; LOCK_REQUEST request; request.item = MY_TEST_RECORD; request.type = 'r'; if(d_lock(1, &request) == S_OKAY) { if(d_keyfind(L_UKEY, &lKey) == S_OKAY) { bFound = true; my_test_record rec; d_recread(&rec); } d_freeall(); } return bFound; } /*-------------------------------------------------------------------*/ void CreateOwnerAndMembers() { long lKey = CreateNewMyTestRecord(); d_trbegin("create_subordinates"); rs_lock("w", MY_TEST_RECORD, MY_SUBORDINATE, REC_SUB, 0L); if(d_keyfind(L_UKEY, &lKey) == S_OKAY) { printf("\nCreated record found, key is %d\n", lKey); d_setor(REC_SUB); my_subordinate sub1, sub2; strncpy(sub1.sz_text_subord, c_szFirstSubrecord, 40); sub1.sz_text_subord[39] = '\0'; strncpy(sub2.sz_text_subord, c_szSecondSubrecord, 40); sub2.sz_text_subord[39] = '\0'; if(d_fillnew(MY_SUBORDINATE, &sub1) == S_OKAY) { d_connect(REC_SUB); printf("\nFirst subordinate connected\n"); } if(d_fillnew(MY_SUBORDINATE, &sub2) == S_OKAY) { d_connect(REC_SUB); printf("\nSecond subordinate connected\n"); } } d_trend(); d_freeall(); } /*-------------------------------------------------------------------*/ void TestFindByKey() { long lKey = 1; long lNotExistentKey = 1000; if(FindByKey(lKey)) { printf("\nValue %d found (unique key)\n", lKey); } if(!FindByKey(lNotExistentKey)) { printf("\nValue %d not found (unique key)\n", lNotExistentKey); } } /*-------------------------------------------------------------------*/ int main(int argc, char * argv[]) { printf("\nVista - start\n"); d_dbuserid("my_user_id"); if(d_open("d_123", "s") == S_OKAY) { printf("\ndatabase opened\n"); rs_lock("r", REC_SUB, MY_SUBORDINATE, MY_TEST_RECORD, 0L); printf("d_keyfind(L_UKEY,NULL)=%d\n",d_keyfind(L_UKEY,NULL)); long lKey = 0; if(d_keyfind(L_UKEY, &lKey) == S_OKAY) { d_setor(REC_SUB); long lCount = 0; d_members(REC_SUB, &lCount); printf("\nNumber of members: %d\n", lCount); if(lCount > 0) { my_subordinate sub; d_findfm(REC_SUB); d_recread(&sub); printf("\n%s\n", sub.sz_text_subord); d_findnm(REC_SUB); d_recread(&sub); printf("\n%s\n", sub.sz_text_subord); } } d_freeall(); d_close(); } printf("\nVista - end\n"); } -------d_123.h - генерится атоматом. имя должно примерно совпадать с именем базы данных. /* db_VISTA Version: 3.64 */ /* database d_123 record/key structure declarations */ #ifndef __d_123_H_INCLUDED__ #define __d_123_H_INCLUDED__ struct my_test_record { long l_ukey; long l_key; char sz_text[20]; }; struct my_subordinate { char sz_text_subord[40]; }; /* record, field and set table entry definitions */ /* File Id Constants */ #define F_123D 0 #define F_123S 1 #define KEYS 2 /* Record Name Constants */ #define MY_TEST_RECORD 10000 #define MY_SUBORDINATE 10001 /* Field Name Constants */ #define L_UKEY 0L #define L_KEY 1L #define SZ_TEXT 2L #define SZ_TEXT_SUBORD 1000L /* Set Name Constants */ #define REC_SUB 20000 #endif /* __d_123_H_INCLUDED__ */ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2009, 18:07 |
|
||
|
|

start [/forum/topic.php?fid=56&msg=36349181&tid=2015667]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
23ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 21ms |
| total: | 129ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...