Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > BDE проблема


Автор: Drabuna 14.9.2009, 15:57
Продолжение этой темы: http://forum.vingrad.ru/forum/act-ST/f-199/t-272361/unread-1.html

Может кто поможет. Поставил bde, так как некоторые dbf файлы не открывались. После установки файлы стали открываться, но после открытия 1024го файла возникает ошибка: Недостаточно системных ресурсов. Если бде удалить, то все ок, но некоторые файлы опять не открываются. Может что то не так в настройках BDE? Облазил весь гугл и мсдн ничего подобного не нашел(( Паника(

Автор: Romikgy 14.9.2009, 16:15
Цитата(Drabuna @  14.9.2009,  14:57 Найти цитируемый пост)
после открытия 1024го файла

одновременно ?

Автор: Drabuna 14.9.2009, 16:17
Нет, файлы открываются в цикле - открылся, прочитался, закрылся, следующий.

Автор: Romikgy 14.9.2009, 16:20
поочередно должно работать без проблем ,
если разработчики ошибку не допустили и при закрытии этого файла он не освобождается ....

Автор: Drabuna 14.9.2009, 16:42
Трейс ODBC:

Код


ELR_IMPORT_0.01 e70-fa0    ENTER SQLAllocHandle 
        SQLSMALLINT                  1 <SQL_HANDLE_ENV>
        SQLHANDLE           00000000
        SQLHANDLE *         0B003E20

ELR_IMPORT_0.01 e70-fa0    EXIT  SQLAllocHandle  with return code 0 (SQL_SUCCESS)
        SQLSMALLINT                  1 <SQL_HANDLE_ENV>
        SQLHANDLE           00000000
        SQLHANDLE *         0x0B003E20 ( 0x00aa1c18)

ELR_IMPORT_0.01 e70-fa0    ENTER SQLSetEnvAttr 
        SQLHENV             00AA1C18
        SQLINTEGER                 200 <SQL_ATTR_ODBC_VERSION>
        SQLPOINTER          0x00000003
        SQLINTEGER                  -6 

ELR_IMPORT_0.01 e70-fa0    EXIT  SQLSetEnvAttr  with return code 0 (SQL_SUCCESS)
        SQLHENV             00AA1C18
        SQLINTEGER                 200 <SQL_ATTR_ODBC_VERSION>
        SQLPOINTER          0x00000003 (BADMEM)
        SQLINTEGER                  -6 

ELR_IMPORT_0.01 e70-fa0    ENTER SQLSetEnvAttr 
        SQLHENV             00AA1C18
        SQLINTEGER                 201 <unknown>
        SQLPOINTER          [Unknown attribute 201]
        SQLINTEGER                  -6 

ELR_IMPORT_0.01 e70-fa0    EXIT  SQLSetEnvAttr  with return code 0 (SQL_SUCCESS)
        SQLHENV             00AA1C18
        SQLINTEGER                 201 <unknown>
        SQLPOINTER          [Unknown attribute 201]
        SQLINTEGER                  -6 

ELR_IMPORT_0.01 e70-fa0    ENTER SQLAllocHandle 
        SQLSMALLINT                  2 <SQL_HANDLE_DBC>
        SQLHANDLE           00AA1C18
        SQLHANDLE *         0B003EB0

ELR_IMPORT_0.01 e70-fa0    EXIT  SQLAllocHandle  with return code 0 (SQL_SUCCESS)
        SQLSMALLINT                  2 <SQL_HANDLE_DBC>
        SQLHANDLE           00AA1C18
        SQLHANDLE *         0x0B003EB0 ( 0x00aa1cc0)

ELR_IMPORT_0.01 e70-fa0    ENTER SQLSetConnectAttrW 
        SQLHDBC             00AA1CC0
        SQLINTEGER                 103 <SQL_ATTR_LOGIN_TIMEOUT>
        SQLPOINTER          0x0000000F
        SQLINTEGER                  -5 

ELR_IMPORT_0.01 e70-fa0    EXIT  SQLSetConnectAttrW  with return code 0 (SQL_SUCCESS)
        SQLHDBC             00AA1CC0
        SQLINTEGER                 103 <SQL_ATTR_LOGIN_TIMEOUT>
        SQLPOINTER          0x0000000F (BADMEM)
        SQLINTEGER                  -5 

ELR_IMPORT_0.01 e70-fa0    ENTER SQLDriverConnectW 
        HDBC                00AA1CC0
        HWND                00000000
        WCHAR *             0x73FB4EC8 [      -3] "******\ 0"
        SWORD                       -3 
        WCHAR *             0x73FB4EC8 
        SWORD                        2 
        SWORD *             0x00000000
        UWORD                        0 <SQL_DRIVER_NOPROMPT>

ELR_IMPORT_0.01 e70-fa0    EXIT  SQLDriverConnectW  with return code 1 (SQL_SUCCESS_WITH_INFO)
        HDBC                00AA1CC0
        HWND                00000000
        WCHAR *             0x73FB4EC8 [      -3] "******\ 0"
        SWORD                       -3 
        WCHAR *             0x73FB4EC8 
        SWORD                        2 
        SWORD *             0x00000000
        UWORD                        0 <SQL_DRIVER_NOPROMPT>

        DIAG [IM006] [Microsoft][Диспетчер драйверов ODBC] Ошибка SQLSetConnectAttr драйвера (0) 

ELR_IMPORT_0.01 e70-fa0    ENTER SQLAllocHandle 
        SQLSMALLINT                  3 <SQL_HANDLE_STMT>
        SQLHANDLE           00AA1CC0
        SQLHANDLE *         0B004038

ELR_IMPORT_0.01 e70-fa0    EXIT  SQLAllocHandle  with return code 0 (SQL_SUCCESS)
        SQLSMALLINT                  3 <SQL_HANDLE_STMT>
        SQLHANDLE           00AA1CC0
        SQLHANDLE *         0x0B004038 ( 0x00aa2168)

ELR_IMPORT_0.01 e70-fa0    ENTER SQLSetStmtAttrW 
        SQLHSTMT            00AA2168
        SQLINTEGER                   0 <SQL_ATTR_QUERY_TIMEOUT>
        SQLPOINTER          0x0000001E
        SQLINTEGER                  -5 

ELR_IMPORT_0.01 e70-fa0    EXIT  SQLSetStmtAttrW  with return code -1 (SQL_ERROR)
        SQLHSTMT            00AA2168
        SQLINTEGER                   0 <SQL_ATTR_QUERY_TIMEOUT>
        SQLPOINTER          0x0000001E
        SQLINTEGER                  -5 

        DIAG [HYC00] [Microsoft][Драйвер ODBC dBase]Дополнительная возможность не реализована  (106) 

ELR_IMPORT_0.01 e70-fa0    ENTER SQLGetDiagFieldW 
        SQLSMALLINT                  3 
        SQLHANDLE           00AA2168
        SQLSMALLINT                  1 
        SQLSMALLINT                  4 
        SQLPOINTER         0x03AB6B18
        SQLSMALLINT                 12 
        SQLSMALLINT *       0x0430ED64

ELR_IMPORT_0.01 e70-fa0    EXIT  SQLGetDiagFieldW  with return code 0 (SQL_SUCCESS)
        SQLSMALLINT                  3 
        SQLHANDLE           00AA2168
        SQLSMALLINT                  1 
        SQLSMALLINT                  4 
        SQLPOINTER         0x03AB6B18
        SQLSMALLINT                 12 
        SQLSMALLINT *       0x0430ED64 (10)

ELR_IMPORT_0.01 e70-fa0    ENTER SQLGetInfoW 
        HDBC                00AA1CC0
        UWORD                       77 <SQL_DRIVER_ODBC_VER>
        PTR                 0x0B004178 
        SWORD                      100 
        SWORD *             0x0430ED4C

ELR_IMPORT_0.01 e70-fa0    EXIT  SQLGetInfoW  with return code 0 (SQL_SUCCESS)
        HDBC                00AA1CC0
        UWORD                       77 <SQL_DRIVER_ODBC_VER>
        PTR                 0x0B004178 [      10] "03.51"
        SWORD                      100 
        SWORD *             0x0430ED4C (10)

ELR_IMPORT_0.01 e70-fa0    ENTER SQLSetStmtAttrW 
        SQLHSTMT            00AA2168
        SQLINTEGER                1228 <unknown>
        SQLPOINTER          [Unknown attribute 1228]
        SQLINTEGER                  -5 

ELR_IMPORT_0.01 e70-fa0    EXIT  SQLSetStmtAttrW  with return code -1 (SQL_ERROR)
        SQLHSTMT            00AA2168
        SQLINTEGER                1228 <unknown>
        SQLPOINTER          [Unknown attribute 1228]
        SQLINTEGER                  -5 

        DIAG [HY092] [Microsoft][Драйвер ODBC dBase]Недопустимый идентификатор атрибута или параметра  (86) 

ELR_IMPORT_0.01 e70-fa0    ENTER SQLGetDiagFieldW 
        SQLSMALLINT                  3 
        SQLHANDLE           00AA2168
        SQLSMALLINT                  1 
        SQLSMALLINT                  4 
        SQLPOINTER         0x03AB6B18
        SQLSMALLINT                 12 
        SQLSMALLINT *       0x0430ED64

ELR_IMPORT_0.01 e70-fa0    EXIT  SQLGetDiagFieldW  with return code 0 (SQL_SUCCESS)
        SQLSMALLINT                  3 
        SQLHANDLE           00AA2168
        SQLSMALLINT                  1 
        SQLSMALLINT                  4 
        SQLPOINTER         0x03AB6B18
        SQLSMALLINT                 12 
        SQLSMALLINT *       0x0430ED64 (10)

ELR_IMPORT_0.01 e70-fa0    ENTER SQLSetStmtAttrW 
        SQLHSTMT            00AA2168
        SQLINTEGER                1227 <unknown>
        SQLPOINTER          [Unknown attribute 1227]
        SQLINTEGER                  -5 

ELR_IMPORT_0.01 e70-fa0    EXIT  SQLSetStmtAttrW  with return code -1 (SQL_ERROR)
        SQLHSTMT            00AA2168
        SQLINTEGER                1227 <unknown>
        SQLPOINTER          [Unknown attribute 1227]
        SQLINTEGER                  -5 

        DIAG [HY092] [Microsoft][Драйвер ODBC dBase]Недопустимый идентификатор атрибута или параметра  (86) 

ELR_IMPORT_0.01 e70-fa0    ENTER SQLGetDiagFieldW 
        SQLSMALLINT                  3 
        SQLHANDLE           00AA2168
        SQLSMALLINT                  1 
        SQLSMALLINT                  4 
        SQLPOINTER         0x03AB6B18
        SQLSMALLINT                 12 
        SQLSMALLINT *       0x0430ED64

ELR_IMPORT_0.01 e70-fa0    EXIT  SQLGetDiagFieldW  with return code 0 (SQL_SUCCESS)
        SQLSMALLINT                  3 
        SQLHANDLE           00AA2168
        SQLSMALLINT                  1 
        SQLSMALLINT                  4 
        SQLPOINTER         0x03AB6B18
        SQLSMALLINT                 12 
        SQLSMALLINT *       0x0430ED64 (10)

ELR_IMPORT_0.01 e70-fa0    ENTER SQLExecDirectW 
        HSTMT               00AA2168
        WCHAR *             0x0B002F00 [      -3] "SELECT * FROM FNMR0301.DBF\ 0"
        SDWORD                    -3

ELR_IMPORT_0.01 e70-fa0    EXIT  SQLExecDirectW  with return code -1 (SQL_ERROR)
        HSTMT               00AA2168
        WCHAR *             0x0B002F00 [      -3] "SELECT * FROM FNMR0301.DBF\ 0"
        SDWORD                    -3

        DIAG [HY001] [Microsoft][Драйвер ODBC dBase] Недостаточно системных ресурсов. (-1011) 

ELR_IMPORT_0.01 e70-fa0    ENTER SQLGetDiagRecW 
        SQLSMALLINT                  3 
        SQLHANDLE           00AA2168
        SQLSMALLINT                  1 
        SQLWCHAR *          0x1529A878 (NYI) 
        SQLINTEGER *        0x0430ED34
        SQLWCHAR *          0x1529A070 (NYI) 
        SQLSMALLINT               1024 
        SQLSMALLINT *       0x0430ED38

ELR_IMPORT_0.01 e70-fa0    EXIT  SQLGetDiagRecW  with return code 0 (SQL_SUCCESS)
        SQLSMALLINT                  3 
        SQLHANDLE           00AA2168
        SQLSMALLINT                  1 
        SQLWCHAR *          0x1529A878 (NYI) 
        SQLINTEGER *        0x0430ED34 (-1011)
        SQLWCHAR *          0x1529A070 (NYI) 
        SQLSMALLINT               1024 
        SQLSMALLINT *       0x0430ED38 (64)

ELR_IMPORT_0.01 e70-fa0    ENTER SQLGetDiagRecW 
        SQLSMALLINT                  3 
        SQLHANDLE           00AA2168
        SQLSMALLINT                  2 
        SQLWCHAR *          0x1529A878 (NYI) 
        SQLINTEGER *        0x0430ED34
        SQLWCHAR *          0x1529A070 (NYI) 
        SQLSMALLINT               1024 
        SQLSMALLINT *       0x0430ED38

ELR_IMPORT_0.01 e70-fa0    EXIT  SQLGetDiagRecW  with return code 100 (SQL_NO_DATA_FOUND)
        SQLSMALLINT                  3 
        SQLHANDLE           00AA2168
        SQLSMALLINT                  2 
        SQLWCHAR *          0x1529A878 (NYI) 
        SQLINTEGER *        0x0430ED34
        SQLWCHAR *          0x1529A070 (NYI) 
        SQLSMALLINT               1024 
        SQLSMALLINT *       0x0430ED38

ELR_IMPORT_0.01 e70-fa0    ENTER SQLGetInfoW 
        HDBC                00AA1CC0
        UWORD                        6 <SQL_DRIVER_NAME>
        PTR                 0x0B01EFF4 
        SWORD                      100 
        SWORD *             0x0430ED44

ELR_IMPORT_0.01 e70-fa0    EXIT  SQLGetInfoW  with return code 0 (SQL_SUCCESS)
        HDBC                00AA1CC0
        UWORD                        6 <SQL_DRIVER_NAME>
        PTR                 0x0B01EFF4 [      24] "odbcjt32.dll"
        SWORD                      100 
        SWORD *             0x0430ED44 (24)

ELR_IMPORT_0.01 e70-fa0    ENTER SQLGetConnectAttrW 
        SQLHDBC             00AA1CC0
        SQLINTEGER                1209 <unknown>
        SQLPOINTER         0x0B01F0C8
        SQLINTEGER                   4 
        SQLINTEGER *        0x0430ED44

ELR_IMPORT_0.01 e70-fa0    EXIT  SQLGetConnectAttrW  with return code -1 (SQL_ERROR)
        SQLHDBC             00AA1CC0
        SQLINTEGER                1209 <unknown>
        SQLPOINTER         0x0B01F0C8
        SQLINTEGER                   4 
        SQLINTEGER *        0x0430ED44

        DIAG [HY092] [Microsoft][Драйвер ODBC dBase]Недопустимый идентификатор атрибута или параметра  (86) 

ELR_IMPORT_0.01 e70-fa0    ENTER SQLGetDiagFieldW 
        SQLSMALLINT                  2 
        SQLHANDLE           00AA1CC0
        SQLSMALLINT                  1 
        SQLSMALLINT                  4 
        SQLPOINTER         0x03AB6B18
        SQLSMALLINT                 12 
        SQLSMALLINT *       0x0430ED18

ELR_IMPORT_0.01 e70-fa0    EXIT  SQLGetDiagFieldW  with return code 0 (SQL_SUCCESS)
        SQLSMALLINT                  2 
        SQLHANDLE           00AA1CC0
        SQLSMALLINT                  1 
        SQLSMALLINT                  4 
        SQLPOINTER         0x03AB6B18
        SQLSMALLINT                 12 
        SQLSMALLINT *       0x0430ED18 (10)

ELR_IMPORT_0.01 e70-fa0    ENTER SQLMoreResults 
        HSTMT               00AA2168

ELR_IMPORT_0.01 e70-fa0    EXIT  SQLMoreResults  with return code 100 (SQL_NO_DATA_FOUND)
        HSTMT               00AA2168

ELR_IMPORT_0.01 e70-fa0    ENTER SQLFreeStmt 
        HSTMT               00AA2168
        UWORD                        0 <SQL_CLOSE>

ELR_IMPORT_0.01 e70-fa0    EXIT  SQLFreeStmt  with return code 0 (SQL_SUCCESS)
        HSTMT               00AA2168
        UWORD                        0 <SQL_CLOSE>


Автор: Romikgy 14.9.2009, 19:46
еще бы прицепил и нормальный лог без ошибок
а в этом видно постояный
Цитата(Drabuna @  14.9.2009,  15:42 Найти цитируемый пост)
SQLAllocHandle 

и я не видел ни одного освобождения этих хенделов.....

PS имхо пора уходить от OBDC ....

Автор: Данкинг 14.9.2009, 23:27
А почему бы файлы не открывать через ADO или TDBF?

Цитата(Drabuna @  14.9.2009,  16:57 Найти цитируемый пост)
Продолжение этой темы:

Там же С# ? smile 

Автор: Drabuna 15.9.2009, 08:55
Да, там С#, но я подумал что в разделе по Делфи про БДЕ знают больше, так как в .NET все молчат)

Автор: Akella 15.9.2009, 08:58
Но ты работаешь с ODBC, зачем тебе BDE?

Автор: Drabuna 15.9.2009, 09:06
Я же говорю. Если бде не установлено некоторые дбф файлы не читаются воообще. 
Вообще изначально я работаю с оледб. Но bde не умеет трейсить oledb, поэтому заюзал odbc чтобы оттрейсить.

Автор: Данкинг 15.9.2009, 09:50
Цитата(Drabuna @  15.9.2009,  10:06 Найти цитируемый пост)
Если бде не установлено некоторые дбф файлы не читаются воообще. 

Что за бред? smile Если dbf не читается - то проблема в самом файле. А BDE лично я вообще никогда не использовал, и всегда справлялся с чтением DBF при помощи того же ADO.

Автор: Drabuna 15.9.2009, 09:58
Цитата с MSDN:
By default, the Microsoft Jet 4.0 database engine supports importing, exporting to, and linking to Paradox 3.x, 4.x, and 5.x and dBASE III, III+, IV, and 5 tables (if you link to these tables, the data in them will be read-only). Microsoft Jet 4.0 does not support Paradox 7 and 8 or dBASE 7 tables. For read/write access from Microsoft Jet to all versions of Paradox or dBASE tables, you must also have the Borland Database Engine (BDE) 4.x or later installed on your computer. If you don't have BDE 4.x or later installed, you can obtain it by installing dBASE 7, Paradox 7 and 8, or Delphi. If you own an older version of the BDE that doesn't support the Paradox 8 or dBASE 7 file formats, you can upgrade your engine from the Inprise (formerly named Borland) Web site at www.inprise.com/.

http://support.microsoft.com/kb/230125

Автор: Данкинг 15.9.2009, 13:34
Drabuna, твои .dbf вообще каким образом создаются?

Автор: Drabuna 15.9.2009, 13:46
Да в том то и проблема. Есть задача - перегнать куевую тучу двб файлов в оракл. Эти дбф файлы складируются с 1999го. Создавались они разными людьми, в разных местах, и тем что было под рукой. Кто делал в екселе, кто в аксесе, кто в визуал фокс про, кто вообще писал проги которые будут делать эти дбф файлы. Файлов щас этих тысяч 50. Одна тысяча читается только если бде установлен. Остальные нормально.

Автор: Данкинг 15.9.2009, 14:35
Цитата(Drabuna @  15.9.2009,  14:46 Найти цитируемый пост)
Есть задача - перегнать куевую тучу двб файлов в оракл.

Я перегонял в своё время, открывая через ADO. Правда, формат таблиц был dBase IV или V с ДОСовской кодировкой.

Автор: Drabuna 15.9.2009, 14:52
Ну вот а у меня на 1000 файлов пишет:
Внешняя таблица не имеет предполагаемый формат.

Бде ставлю нормально открываются. Но ровно 1024 файла.
Не знаю что делать smile 

Автор: Romikgy 15.9.2009, 15:10
сделай так имхо 
создавай сразу 2 соединения 
адо и бде
что не получается открыть через адо открывай через бде и сунь куда нужно ....

Автор: Drabuna 15.9.2009, 15:46
 smile Как так?) Я соединение с БДЕ не делаю.
То есть я делаю все как обычно, беру OleDB/ODBC, создаю конекшн, задаю команду и выполняю её. 

Автор: Romikgy 15.9.2009, 15:47
Цитата(Drabuna @  15.9.2009,  13:52 Найти цитируемый пост)
Бде ставлю нормально открываются. 

просто поставил , а коннект через адо ?

Автор: Drabuna 15.9.2009, 15:52
Так конекчусь всегда:
Код

  OleDbConnection oConn = new OleDbConnection();
  OleDbCommand oCmd = new OleDbCommand();
  oConn.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + directory + ";Extended Properties=dBASE IV;User ID=Admin;Password=";
            oCmd.Connection = oConn;
            oCmd.CommandText = @"SELECT * FROM " + tablename;
        try
            {
                oConn.Open();
                resultTable.Load(oCmd.ExecuteReader());
            }
            catch (Exception ex)
            {
                 MessageBox.Show(ex.Message);
              }
oConn.Close();
oCmd.Dispose();
oConn.Dispose();

Разница только установлен БДЕ или нет.

Автор: Akella 15.9.2009, 16:02
Открой BDE Admin и увеличь количество открытых файлов.

Автор: Drabuna 15.9.2009, 16:26
В BDE уже менял все что меняется - не помогло.

Автор: Romikgy 15.9.2009, 16:43
Цитата(Drabuna @  15.9.2009,  14:52 Найти цитируемый пост)
dBASE IV

посмотри все ли файлы являются такими....

Автор: Drabuna 15.9.2009, 16:59
Скорее всего нет. Но с этой строкой открываются все. 

Автор: Romikgy 15.9.2009, 17:22
Цитата(Drabuna @  15.9.2009,  15:59 Найти цитируемый пост)
Но с этой строкой открываются все.  

чет вы не последовательны.... имхо

Автор: Drabuna 15.9.2009, 17:27
Просто я уже 5 дней сижу над этой проблемой, и я пробовал все возможные строки подключения)

Автор: Akella 15.9.2009, 19:20
Само собой, что для каждой версии DBF должен быть свой драйвер. Я имею ввиду, что вот для  Foxpro нужен отдельный драйвер ODBC. DBF  это ж расширение всего лишь, а структура может быть разная. Не знаю, есть ли универсальный драйвер. Может нужно компоненты доступа поискать, которые будут читать все виды dbf

Автор: Данкинг 15.9.2009, 20:06
Поставь FoxPro и попробуй, что будет открываться непосредственно через него. ИМХО, работать с DBF при отсутствии фокса на компе глупо.

Автор: Drabuna 16.9.2009, 10:36
 smile  smile 
VFP открывает те файлы для которых не нужен BDE.
Для которых нужен - пишет "not a table".

Автор: Drabuna 16.9.2009, 12:34
 smile 
Вроде придумал как:
HKLM\Software\Microsoft\Jet\4.0\Engines\Xbase надо создать поле BDE(DWORD).

Затем:
        * 0 - Use the BDE if it is installed. If not, use the ISAM.
        * 1 - Always use the BDE. If it's not installed then fail.
        * 2 - Always use the ISAM. 
То есть, ставлю его на 2, затем если файл не открывается меняю на 1, и после открытия файла опять на 2.


....Похоже что нет  smile 

Автор: Данкинг 16.9.2009, 12:59
Цитата(Drabuna @  16.9.2009,  11:36 Найти цитируемый пост)
Для которых нужен - пишет "not a table".

Вероятно, в них суммарная ширина полей слишком большая.

Добавлено через 39 секунд
Но всё равно повторю:
Цитата(Данкинг @  15.9.2009,  21:06 Найти цитируемый пост)
МХО, работать с DBF при отсутствии фокса на компе глупо. 

 smile 

Автор: Drabuna 16.9.2009, 13:14
Зачем мне ВФП если он ничем не поможет)

Автор: Drabuna 16.9.2009, 13:41
Где в BDE Admin-е поменять количество файлов? smile 

Автор: Данкинг 16.9.2009, 16:18
Цитата(Drabuna @  16.9.2009,  14:14 Найти цитируемый пост)
Зачем мне ВФП если он ничем не поможет) 

Чтобы просматривать таблицы. smile В общем, если будут вопросы по фоксу - обращайся в соответствующий раздел. smile 

Автор: Akella 16.9.2009, 22:02
Цитата(Drabuna @  16.9.2009,  10:36 Найти цитируемый пост)
VFP открывает те файлы для которых не нужен BDE.
Для которых нужен - пишет "not a table".

Та сколько можно говорить, что dbf - это не тип файла, а расширение всего лишь. Это всё равно что у фотографии изменить расширение на dbf и попытаться открыть.

Добавлено через 29 секунд
Цитата(Drabuna @  16.9.2009,  13:41 Найти цитируемый пост)
Где в BDE Admin-е поменять количество файлов? smile  

а где ты менял?

Добавлено через 1 минуту и 58 секунд
user posted image

Обрати внимание на то, что я подчеркнул

Добавлено через 4 минуты и 57 секунд
user posted image

user posted image

Добавлено через 6 минут и 41 секунду
Жаль, что C#.
Просто для дельфи много разных компонент для работы с разными версиями dbf.

Автор: Drabuna 17.9.2009, 09:04
Там и менял. Теперь начал писать "недостаточно ресурсов" на 1009 файле  smile 
Реально написать длл на делфи которая бы открывала файлы эти, и передавала в сишарп?)

Автор: Akella 17.9.2009, 13:19
Тяжело связать. Попробуй работать с dbf из MS SQL Studio.
Поищи программы для работы с DBF. Может можно все dbf перекинуть в одинаковый формат.
Если не секретно, то пришли мне на мыло несколько dbf, но только РАЗНЫХ форматов.

Добавлено через 45 секунд
У FAR и Total commander есть плагины для работы с dbf.

Добавлено через 6 минут и 13 секунд
Вот я создал тему:
http://forum.vingrad.ru/forum/act-ST/f-21/t-273158/unread-1.html

Может кто программу подскажет. Следи за темой.

Автор: Данкинг 17.9.2009, 14:40
Цитата(Akella @  17.9.2009,  14:19 Найти цитируемый пост)
У FAR и Total commander есть плагины для работы с dbf.

Так вроде только для просмотра.

Автор: Drabuna 17.9.2009, 17:57
Нашел вот тут:
http://www.dbase.com/knowledgebase/int/db7_file_fmt.htm

Начал писать ридер.... smile 

Автор: Drabuna 18.9.2009, 10:38
Продолжение http://forum.vingrad.ru/forum/topic-273250.html  smile 

Автор: Akella 18.9.2009, 23:16
http://forum.vingrad.ru/index.php?showtopic=273158&view=findpost&p=1970694
это оно?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)