Для работы использовал svn с официального сайта.
sudo svn co https://harbour-project.svn.sourceforge.net/svnroot/harbour-project/trunk/harbour harbourв текущей папке создается папка harbour. далее , проверяем наличие всех нужных компонентов. При попытке работать с SQL серверами, должны быть установлены соответствующие клиентские библиотеки и dev пакеты. Детально можно посмотреть в документе INSTALL. Желательно его прочитать очень внимательно!
Компилируем
cd harbour
sudo make install
Смотрим сообщения на консоли. если ошибок нет - продолжаем. Иначе, нужно что-то доустановить. вот и все, harbour собран. Я использовал sudo, чтобы исключить проблемы с правами при установке. Если я не прав - поправьте меня.
Затем идем в contribs и компилируем примеры.
cd contrib/hbfbird
(Чтобы пересобрать библиотеку
hbrun ../make.hbs clean install)
cd testsполучим примерно следующее:
hbmk2 simple.prg
user@desktop:~/sources/harbour/contrib/hbfbird/tests$ hbmk2 simple.prgДалее выполняем то, что накомпилили. Получаем ошибку.
hbmk2: Processing local make script: hbmk.hbm
Harbour 2.1.0beta2 (Rev. 15585)
Copyright (c) 1999-2010, http://harbour-project.org/
Compiling 'simple.prg'...
Lines 347, Functions/Procedures 1
Generating C source output to '/tmp/hbmk_x4x1j4.dir/simple.c'... Done.
user@desktop:~/sources/harbour/contrib/hbfbird/tests$
Предположительно на UBUNTU нельзя создавать БД со страницей 1024. Приводим исходник к следующемы виду:
/*
* $Id: simple.prg 13763 2010-02-04 11:56:22Z vszakats $
*/
#include "common.ch"
#include "simpleio.ch"
Function main()
Local oServer, oQuery, oRow, i, x, aTables, aStruct, aKey
Local cServer
Local cUser := "sysdba"
Local cPass := "masterkey"
Local nDialect := 3
Local cQuery
local DBpath
ALTD()
DBpath = ("/home/user/data/simple.gdb" )
cServer := "127.0.0.1:" + DBpath
//DBpath = (hb_dirBase() + "simple.gdb" )
IF hb_FileExists( DBpath )
FErase( DBpath )
ENDIF
? FBCreateDB( DBpath , cuser, cpass, 2048, "ASCII" , nDialect )
........
после этого БД создается, но при попытке вставки появляется ошибка:
1
Connecting...
Tables...
Using implicit transaction...
Creating domain for boolean fields...
Creating test table...
Press any key to continue...
Structure of test table
Inserting, declared transaction control
Column does not belong to referenced table
Column does not belong to referenced table
Column does not belong to referenced table
..........
Column does not belong to referenced tableто есть не прочиталась структура БД. Отсюда все остальное. Почему?
Column does not belong to referenced table
Column does not belong to referenced table
Column does not belong to referenced table
Column does not belong to referenced table
Column does not belong to referenced table
Error BASE/1132 Bound error: array access
Called from MAIN(120)
создана нормальная БД. Вот ее метаданные:
/********************* ROLES **********************/Почему, тогда, последующие попытки получить структуру базы и сделать select не приносят успеха?
/********************* UDFS ***********************/
/****************** GENERATORS ********************/
/******************** DOMAINS *********************/
CREATE DOMAIN BOOLEAN_FIELD
AS Smallint
DEFAULT 0
NOT NULL
check (value in (0,1))
;
/******************* PROCEDURES ******************/
/******************** TABLES **********************/
CREATE TABLE TEST
(
CODE Smallint NOT NULL,
DEPT Integer,
NAME Varchar(40),
SALES BOOLEAN_FIELD DEFAULT 0,
TAX Float,
SALARY Double precision,
BUDGET Numeric(12,2),
DISCOUNT Decimal(5,2),
CREATION Date,
DESCRIPTION Blob sub_type 1,
PRIMARY KEY (CODE)
);
/********************* VIEWS **********************/
/******************* EXCEPTIONS *******************/
/******************** TRIGGERS ********************/
GRANT DELETE, INSERT, REFERENCES, SELECT, UPDATE
ON TEST TO SYSDBA WITH GRANT OPTION;
попробую обновиться и начать с начала. Попутно посмотрю в INSTALL. Может чего-то я пропустил.
Итак, снова скачал с SVN исходники. Сделал make clean, из INSTALL повторил установку нужных -dev пакетов. Скомпилировал оригинальный simple.prg - ошибки
-902исправил пути в исходнике на реальную папку с тестовыми БД. сделал 2048 длиной страницы. Компиляция.
Connecting...
Unsuccessful execution caused by a system error that precludes
successful execution of subsequent statements
О счастье! все выполнилось!
1
Connecting...
Tables...
MON$ATTACHMENTS
MON$CALL_STACK
MON$DATABASE
MON$IO_STATS
MON$RECORD_STATS
MON$STATEMENTS
MON$TRANSACTIONS
MON$TRANSACTIONS
Using implicit transaction...
Creating domain for boolean fields...
Creating test table...
Press any key to continue...
Structure of test table
CODE N 5 0
DEPT N 9 0
NAME C 40 0
SALES L 1 0
TAX N 15 0
SALARY N 15 0
BUDGET N 15 2
DISCOUNT N 9 2
CREATION D 8 0
DESCRIPTION M 10 0
DESCRIPTION M 10 0
Inserting, declared transaction control
CODE N 5 0
NAME C 40 0
DESCRIPTION M 10 -2
SALES L 1 0
Fields: 4 Primary Key: CODE
4 1 0 CODE N 0 5 2
150 MY TEST
.T.
.T.
.F.
1 .T. TEST CODE N 0 5 Short Description about what ?
2 .T. TEST CODE N 0 5 Short Description about what ?
3 .T. TEST CODE N 0 5 Short Description about what ?
4 .T. TEST CODE N 0 5 Short Description about what ?
5 .T. TEST CODE N 0 5 Short Description about what ?
6 .T. TEST CODE N 0 5 Short Description about what ?
7 .T. TEST CODE N 0 5 Short Description about what ?
8 .T. TEST CODE N 0 5 Short Description about what ?
9 .T. TEST CODE N 0 5 Short Description about what ?
10 .T. TEST CODE N 0 5 Short Description about what ?
11 .T. TEST CODE N 0 5 Short Description about what ?
12 .T. TEST CODE N 0 5 Short Description about what ?
13 .T. TEST CODE N 0 5 Short Description about what ?
14 .T. TEST CODE N 0 5 Short Description about what ?
15 .T. TEST CODE N 0 5 Short Description about what ?
16 .T. TEST CODE N 0 5 Short Description about what ?
17 .T. TEST CODE N 0 5 Short Description about what ?
18 .T. TEST CODE N 0 5 Short Description about what ?
19 .T. TEST CODE N 0 5 Short Description about what ?
20 .T. TEST CODE N 0 5 Short Description about what ?
21 .T. TEST CODE N 0 5 Short Description about what ?
22 .T. TEST CODE N 0 5 Short Description about what ?
23 .T. TEST CODE N 0 5 Short Description about what ?
24 .T. TEST CODE N 0 5 Short Description about what ?
25 .T. TEST CODE N 0 5 Short Description about what ?
26 .T. TEST CODE N 0 5 Short Description about what ?
27 .T. TEST CODE N 0 5 Short Description about what ?
28 .T. TEST CODE N 0 5 Short Description about what ?
29 .T. TEST CODE N 0 5 Short Description about what ?
30 .T. TEST CODE N 0 5 Short Description about what ?
31 .T. TEST CODE N 0 5 Short Description about what ?
32 .T. TEST CODE N 0 5 Short Description about what ?
33 .T. TEST CODE N 0 5 Short Description about what ?
34 .T. TEST CODE N 0 5 Short Description about what ?
35 .T. TEST CODE N 0 5 Short Description about what ?
36 .T. TEST CODE N 0 5 Short Description about what ?
37 .T. TEST CODE N 0 5 Short Description about what ?
38 .T. TEST CODE N 0 5 Short Description about what ?
39 .T. TEST CODE N 0 5 Short Description about what ?
40 .T. TEST CODE N 0 5 Short Description about what ?
41 .T. TEST CODE N 0 5 Short Description about what ?
42 .T. TEST CODE N 0 5 Short Description about what ?
43 .T. TEST CODE N 0 5 Short Description about what ?
44 .T. TEST CODE N 0 5 Short Description about what ?
45 .T. TEST CODE N 0 5 Short Description about what ?
46 .T. TEST CODE N 0 5 Short Description about what ?
47 .T. TEST CODE N 0 5 Short Description about what ?
48 .T. TEST CODE N 0 5 Short Description about what ?
49 .T. TEST CODE N 0 5 Short Description about what ?
50 .T. TEST CODE N 0 5 Short Description about what ?
Update: .F.
51 .T. TEST CODE N 0 5 Short Description about what ?
52 .T. TEST CODE N 0 5 Short Description about what ?
53 .T. TEST CODE N 0 5 Short Description about what ?
54 .T. TEST CODE N 0 5 Short Description about what ?
55 .T. TEST CODE N 0 5 Short Description about what ?
56 .T. TEST CODE N 0 5 Short Description about what ?
57 .T. TEST CODE N 0 5 Short Description about what ?
58 .T. TEST CODE N 0 5 Short Description about what ?
59 .T. TEST CODE N 0 5 Short Description about what ?
60 .T. TEST CODE N 0 5 Short Description about what ?
Delete: .F.
61 .T. TEST CODE N 0 5 Short Description about what ?
62 .T. TEST CODE N 0 5 Short Description about what ?
63 .T. TEST CODE N 0 5 Short Description about what ?
64 .T. TEST CODE N 0 5 Short Description about what ?
65 .T. TEST CODE N 0 5 Short Description about what ?
66 .T. TEST CODE N 0 5 Short Description about what ?
67 .T. TEST CODE N 0 5 Short Description about what ?
68 .T. TEST CODE N 0 5 Short Description about what ?
69 .T. TEST CODE N 0 5 Short Description about what ?
70 .T. TEST CODE N 0 5 Short Description about what ?
71 .T. TEST CODE N 0 5 Short Description about what ?
72 .T. TEST CODE N 0 5 Short Description about what ?
73 .T. TEST CODE N 0 5 Short Description about what ?
74 .T. TEST CODE N 0 5 Short Description about what ?
75 .T. TEST CODE N 0 5 Short Description about what ?
76 .T. TEST CODE N 0 5 Short Description about what ?
77 .T. TEST CODE N 0 5 Short Description about what ?
78 .T. TEST CODE N 0 5 Short Description about what ?
79 .T. TEST CODE N 0 5 Short Description about what ?
80 .T. TEST CODE N 0 5 Short Description about what ?
81 .T. TEST CODE N 0 5 Short Description about what ?
82 .T. TEST CODE N 0 5 Short Description about what ?
83 .T. TEST CODE N 0 5 Short Description about what ?
84 .T. TEST CODE N 0 5 Short Description about what ?
85 .T. TEST CODE N 0 5 Short Description about what ?
86 .T. TEST CODE N 0 5 Short Description about what ?
87 .T. TEST CODE N 0 5 Short Description about what ?
88 .T. TEST CODE N 0 5 Short Description about what ?
89 .T. TEST CODE N 0 5 Short Description about what ?
90 .T. TEST CODE N 0 5 Short Description about what ?
91 .T. TEST CODE N 0 5 Short Description about what ?
92 .T. TEST CODE N 0 5 Short Description about what ?
93 .T. TEST CODE N 0 5 Short Description about what ?
94 .T. TEST CODE N 0 5 Short Description about what ?
95 .T. TEST CODE N 0 5 Short Description about what ?
96 .T. TEST CODE N 0 5 Short Description about what ?
97 .T. TEST CODE N 0 5 Short Description about what ?
98 .T. TEST CODE N 0 5 Short Description about what ?
99 .T. TEST CODE N 0 5 Short Description about what ?
100 .T. TEST CODE N 0 5 Short Description about what ?
100 .T. TEST CODE N 0 5 Short Description about what ?
100 .T. TEST CODE N 0 5 Short Description about what ?
Delete: .T.
1 .T. TEST CODE N 0 5 Short Description about what ?
2 .T. TEST CODE N 0 5 Short Description about what ?
3 .T. TEST CODE N 0 5 Short Description about what ?
4 .T. TEST CODE N 0 5 Short Description about what ?
5 .T. TEST CODE N 0 5 Short Description about what ?
6 .T. TEST CODE N 0 5 Short Description about what ?
7 .T. TEST CODE N 0 5 Short Description about what ?
8 .T. TEST CODE N 0 5 Short Description about what ?
9 .T. TEST CODE N 0 5 Short Description about what ?
10 .T. TEST CODE N 0 5 Short Description about what ?
11 .T. TEST CODE N 0 5 Short Description about what ?
12 .T. TEST CODE N 0 5 Short Description about what ?
13 .T. TEST CODE N 0 5 Short Description about what ?
14 .T. TEST CODE N 0 5 Short Description about what ?
15 .T. TEST CODE N 0 5 Short Description about what ?
16 .T. TEST CODE N 0 5 Short Description about what ?
17 .T. TEST CODE N 0 5 Short Description about what ?
18 .T. TEST CODE N 0 5 Short Description about what ?
19 .T. TEST CODE N 0 5 Short Description about what ?
20 .T. TEST CODE N 0 5 Short Description about what ?
21 .T. TEST CODE N 0 5 Short Description about what ?
22 .T. TEST CODE N 0 5 Short Description about what ?
23 .T. TEST CODE N 0 5 Short Description about what ?
24 .T. TEST CODE N 0 5 Short Description about what ?
25 .T. TEST CODE N 0 5 Short Description about what ?
26 .T. TEST CODE N 0 5 Short Description about what ?
27 .T. TEST CODE N 0 5 Short Description about what ?
28 .T. TEST CODE N 0 5 Short Description about what ?
29 .T. TEST CODE N 0 5 Short Description about what ?
30 .T. TEST CODE N 0 5 Short Description about what ?
31 .T. TEST CODE N 0 5 Short Description about what ?
32 .T. TEST CODE N 0 5 Short Description about what ?
33 .T. TEST CODE N 0 5 Short Description about what ?
34 .T. TEST CODE N 0 5 Short Description about what ?
35 .T. TEST CODE N 0 5 Short Description about what ?
36 .T. TEST CODE N 0 5 Short Description about what ?
37 .T. TEST CODE N 0 5 Short Description about what ?
38 .T. TEST CODE N 0 5 Short Description about what ?
39 .T. TEST CODE N 0 5 Short Description about what ?
40 .T. TEST CODE N 0 5 Short Description about what ?
41 .T. TEST CODE N 0 5 Short Description about what ?
42 .T. TEST CODE N 0 5 Short Description about what ?
43 .T. TEST CODE N 0 5 Short Description about what ?
44 .T. TEST CODE N 0 5 Short Description about what ?
45 .T. TEST CODE N 0 5 Short Description about what ?
46 .T. TEST CODE N 0 5 Short Description about what ?
47 .T. TEST CODE N 0 5 Short Description about what ?
48 .T. TEST CODE N 0 5 Short Description about what ?
49 .T. TEST CODE N 0 5 Short Description about what ?
50 .T. TEST CODE N 0 5 Short Description about what ?
51 .T. TEST CODE N 0 5 Short Description about what ?
52 .T. TEST CODE N 0 5 Short Description about what ?
53 .T. TEST CODE N 0 5 Short Description about what ?
54 .T. TEST CODE N 0 5 Short Description about what ?
55 .T. TEST CODE N 0 5 Short Description about what ?
56 .T. TEST CODE N 0 5 Short Description about what ?
57 .T. TEST CODE N 0 5 Short Description about what ?
58 .T. TEST CODE N 0 5 Short Description about what ?
59 .T. TEST CODE N 0 5 Short Description about what ?
60 .T. TEST CODE N 0 5 Short Description about what ?
61 .T. TEST CODE N 0 5 Short Description about what ?
62 .T. TEST CODE N 0 5 Short Description about what ?
63 .T. TEST CODE N 0 5 Short Description about what ?
64 .T. TEST CODE N 0 5 Short Description about what ?
65 .T. TEST CODE N 0 5 Short Description about what ?
66 .T. TEST CODE N 0 5 Short Description about what ?
67 .T. TEST CODE N 0 5 Short Description about what ?
68 .T. TEST CODE N 0 5 Short Description about what ?
69 .T. TEST CODE N 0 5 Short Description about what ?
71 .T. TEST CODE N 0 5 Short Description about what ?
72 .T. TEST CODE N 0 5 Short Description about what ?
73 .T. TEST CODE N 0 5 Short Description about what ?
74 .T. TEST CODE N 0 5 Short Description about what ?
75 .T. TEST CODE N 0 5 Short Description about what ?
76 .T. TEST CODE N 0 5 Short Description about what ?
77 .T. TEST CODE N 0 5 Short Description about what ?
78 .T. TEST CODE N 0 5 Short Description about what ?
79 .T. TEST CODE N 0 5 Short Description about what ?
80 .T. TEST CODE N 0 5 Short Description about what ?
81 .T. TEST CODE N 0 5 Short Description about what ?
82 .T. TEST CODE N 0 5 Short Description about what ?
83 .T. TEST CODE N 0 5 Short Description about what ?
84 .T. TEST CODE N 0 5 Short Description about what ?
85 .T. TEST CODE N 0 5 Short Description about what ?
86 .T. TEST CODE N 0 5 Short Description about what ?
87 .T. TEST CODE N 0 5 Short Description about what ?
88 .T. TEST CODE N 0 5 Short Description about what ?
89 .T. TEST CODE N 0 5 Short Description about what ?
90 .T. TEST CODE N 0 5 Short Description about what ?
91 .T. TEST CODE N 0 5 Short Description about what ?
92 .T. TEST CODE N 0 5 Short Description about what ?
93 .T. TEST CODE N 0 5 Short Description about what ?
94 .T. TEST CODE N 0 5 Short Description about what ?
95 .T. TEST CODE N 0 5 Short Description about what ?
96 .T. TEST CODE N 0 5 Short Description about what ?
97 .T. TEST CODE N 0 5 Short Description about what ?
98 .T. TEST CODE N 0 5 Short Description about what ?
99 .T. TEST CODE N 0 5 Short Description about what ?
100 .T. TEST CODE N 0 5 Short Description about what ?
150 .F. MY TEST CODE N 0 5
150 .F. MY TEST CODE N 0 5
Closing...
Может ошибки поправили, может я чего-то тормозил. Не буду пока выяснять.
.....TO BE CONTINUED.....
Комментариев нет:
Отправить комментарий