powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / nmake
7 сообщений из 7, страница 1 из 1
nmake
    #32475849
Lenta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Народ, помогите,пожалуйста...

У меня есть сишный исходник для хранимой процедуры .sqc...
Делаю для этой прожки библиотеку утилитой nmake...

Могу я как-то передать параметры базы данных (логин,пароль)?
...
Рейтинг: 0 / 0
nmake
    #32475959
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
@echo connect to SAMPLE user 'db2admin' using 'password' > $*.db2
@echo prep $*.sqx bindfile using %1.bnd isolation ur explain all >> $*.db2
@echo bind $*.bnd blocking all queryopt 0 isolation ur >> $*.db2
@d:\sqllib\bin\db2clpex db2 -z $*.log -vf $*.db2
@type $*.log

а можно еще прописать базу данных по умолчанию,
тогда сразу будет к ней коннеститься используя текущие логин и пароль,
конечно если это делать из под db2cmd.exe
...
Рейтинг: 0 / 0
nmake
    #32476012
Lenta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Резонный вопрос начинающего))

Как прописать базу по умолчанию?..
...
Рейтинг: 0 / 0
nmake
    #32477100
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DB2DBDFT=SAMPLE
...
Рейтинг: 0 / 0
nmake
    #32477153
Lenta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хм)) спасибо,конечно, но проблема не совсем такая)))

В том и дело, что мне не надо под текущим.

Мой сетевой логин и администраторский в DB2 различны...
Поэтому мне и нужно, задать логин и пароль к базе данных по умолчанию.
Дабы при выполнении команд через db2cmd работать не с текущим логином и паролем, а с заданным мной по умолчанию.

Т.е. вопрос прост...где прописать то, что по умолчанию подключаешься к DB2 не с системным текущим логином и паролем, а с заданным.
...
Рейтинг: 0 / 0
nmake
    #32477230
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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.
########################################################
# Тривиальный makefile
########################################################

DBNAME=sample
DBUSER=db2admin
DBPASSWORD=ibmdb2
INCL=d:\sqllib\include
DBLIB=d:\sqllib\lib\db2api.lib

#Это исполняемый файл
TARGET=test.exe

#список *.obj файлов, которые будут получаться из простого C++
CPPOBJS=

#список *.obj файлов, которые будут получаться из С++ c вложенным SQL
SQXOBJS=test.obj

#очищаем все правила make и создаем свои
.SUFFIXES:
.SUFFIXES: .sqx .obj .cxx .cpp .c

#правило по которому получаем объектники из C++
.cpp.obj:
	cl -c $*.cpp

#правило для предкомпиляции и получения объектников из
#sqx файлов, аналогчно можно сделать из *.sqc файлов
.sqx.obj:
	echo connect to $(DBNAME) user $(DBUSER) using '$(DBPASSWORD)' > prep.db2
	echo prep $*.sqx bindfile >> prep.db2
	echo bind $*.bnd >>prep.db2
	d:\sqllib\bin\db2clpex db2 -z $*.log -v -f prep.db2
	type $*.log
	cl -c $*.cxx -I$(INCL)

#Линкуем (можно командочкой link, даже лучше)
#и сразу запускаем на выполнение
#аналогично делаем для DLL
$(TARGET): $(CPPOBJS) $(SQXOBJS)
	cl -o $(TARGET) $(SQXOBJS) $(SPPOBJS) $(DBLIB)
	$(TARGET)




Код: 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.
#include <stdlib.h>
#include <stdio.h>

EXEC SQL INCLUDE SQLCA;

bool connect(char* dbname,char* dbuser,char* dbpassword) {
    EXEC SQL BEGIN DECLARE SECTION;
	char (*pDBname)[ 9 ];
	char (*pDBuser)[ 9 ];
	char (*pDBpassword)[ 9 ];
    EXEC SQL END DECLARE SECTION;	
    pDBname=(char(*)[ 9 ])dbname;
    pDBuser=(char(*)[ 9 ])dbuser;
    pDBpassword=(char(*)[ 9 ])dbpassword;
    EXEC SQL CONNECT TO :pDBname USER :pDBuser USING :pDBpassword;
    if (SQLCODE) return false;
    return true;		
}
void main() {
    if (connect( "sample" , "db2admin" , "ibmdb2" )) {
    	printf( "OK!\n" );
    	EXEC SQL CONNECT RESET;
    } else {
    	printf( "CONNECT:ERROR\n" );
    }
    exit( 0 );
}


Надеюсь знаете, что в makefile все строки команд должны
начинаться с символа табуляции?
А ключи и пр посмотрите в samples
...
Рейтинг: 0 / 0
nmake
    #32477260
Lenta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо)) Вы меня очень выручили))
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / nmake
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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