powered by simpleCommunicator - 2.0.44     © 2025 Programmizd 02
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / DB2 connect...
7 сообщений из 7, страница 1 из 1
DB2 connect...
    #32186921
Кто работал с DB2 под VM/ESA(v2r40)? Не могу выполнить CONNECT к базе DB2 v6r10 на C , ругается препроцессор(SQLPREP). Пишу:
EXEC SQL CONNECT :logname IDENTIFIED BY :pwd TO :dbname;

Как ни объявлял хост-переменные, все равно говорит, что переменная описана с атрибутами, недопустимыми для исп. в SQL. Пробовал по-всякому, как написано в документации(имя и пароль-8симв+nul), ничего не выходит. Кто-нибудь сталкивался с таким?
...
Рейтинг: 0 / 0
DB2 connect...
    #32186980
golsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для UDB DB2 v 7.x под WinNT

EXEC SQL CONNECT TO :alias USER :login USING :passwd;
...
Рейтинг: 0 / 0
DB2 connect...
    #32186990
Под VM (SQL/DS) синтаксис немного другой. Меня интересует объявление host-пенеменных в 'EXEC SQL BEGIN DECLARE SECTION'
Если пишу : 'char logname;' - ошибка несоответствия атрибутов; если char logname[8]='iv' - говорит, что host-переменная не объявлена.
Пробовал через pointer, не помогает
...
Рейтинг: 0 / 0
DB2 connect...
    #32187189
Фотография NewYear
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что такое VM/ESA? VM (SQL/DS) ?

с хост переменными всегда проблемы. на Workstation они одни, на AS/400 немного другие, на мейнфрейме третьи.
...
Рейтинг: 0 / 0
DB2 connect...
    #32187246
Фотография NewYear
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот только конструкция
char logname[8]='iv'
нигде вроде не работает.
...
Рейтинг: 0 / 0
DB2 connect...
    #32187857
VM/ESA - IBM Virtual Machines, операционка для mainframe S/390
...
Рейтинг: 0 / 0
DB2 connect...
    #32188953
NewYear_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
что-то вовсем уж старое, наверно.... в OS/390 2.10 вот так, если поможет.
Код: 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.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
void Connect(const char *szbase)
{
	EXEC SQL BEGIN DECLARE SECTION;
    char database[ 9 ];
	EXEC SQL END DECLARE SECTION;
    strncpy(database, szbase,sizeof(database));
	database[sizeof(database)- 1 ] = '\0';

  EXEC SQL CONNECT TO :database;
  	sqlca.sqlerrmc[ 69 ] = '\0';

  if(SQLCODE< 0 )
  {
    throw SQLException( "Connect:" , SQLCODE, sqlca.sqlerrmc);
  }
}


void Connect(const char *szbase, const char *szuser, const char *szpwd)
{
  EXEC SQL BEGIN DECLARE SECTION;
    char szXbase[ 9 ];
    char szXuser[ 30 ];
    char szXpwd  [ 30 ];
  EXEC SQL END DECLARE SECTION;

	strncpy(szXbase, szbase,sizeof(szXbase));
	szXbase[sizeof(szXbase)- 1 ] = '\0';
	strcpy (szXuser, szuser);
    strcpy (szXpwd , szpwd);
  EXEC SQL CONNECT TO :szXbase USER :szXuser USING :szXpwd;
  	sqlca.sqlerrmc[ 69 ] = '\0';

  if(SQLCODE< 0 )
  {
    throw SQLException( "Connect:" , SQLCODE, sqlca.sqlerrmc);
  }
}

void     IBMSNAP_SUBS_MEMBR::fetch(void)
{
  EXEC SQL BEGIN DECLARE SECTION;
    char     IBMSNAP_SUBS_MEMBR_APPLY_QUAL[ 19 ];
    short int IBMSNAP_SUBS_MEMBR_apply_qual;
    char     IBMSNAP_SUBS_MEMBR_SET_NAME[ 19 ];
    short int IBMSNAP_SUBS_MEMBR_set_name;
    char     IBMSNAP_SUBS_MEMBR_WHOS_ON_FIRST[ 2 ];
    short int IBMSNAP_SUBS_MEMBR_whos_on_first;
    char     IBMSNAP_SUBS_MEMBR_SOURCE_OWNER[ 19 ];
    short int IBMSNAP_SUBS_MEMBR_source_owner;
    char     IBMSNAP_SUBS_MEMBR_SOURCE_TABLE[ 19 ];
    short int IBMSNAP_SUBS_MEMBR_source_table;
    short int IBMSNAP_SUBS_MEMBR_SOURCE_VIEW_QUAL;
    short int IBMSNAP_SUBS_MEMBR_source_view_qual;
    char     IBMSNAP_SUBS_MEMBR_TARGET_OWNER[ 19 ];
    short int IBMSNAP_SUBS_MEMBR_target_owner;
    char     IBMSNAP_SUBS_MEMBR_TARGET_TABLE[ 19 ];
    short int IBMSNAP_SUBS_MEMBR_target_table;
    char     IBMSNAP_SUBS_MEMBR_TARGET_CONDENSED[ 2 ];
    short int IBMSNAP_SUBS_MEMBR_target_condensed;
    char     IBMSNAP_SUBS_MEMBR_TARGET_COMPLETE[ 2 ];
    short int IBMSNAP_SUBS_MEMBR_target_complete;
    short int IBMSNAP_SUBS_MEMBR_TARGET_STRUCTURE;
    short int IBMSNAP_SUBS_MEMBR_target_structure;
//    struct
//          {
//          short int length;
//          char     IBMSNAP_SUBS_MEMBR_PREDICATES[ 512 ];
//          }        IBMSNAP_SUBS_MEMBR_PREDICATES;
//    short int IBMSNAP_SUBS_MEMBR_predicates;
  EXEC SQL END DECLARE SECTION;
  EXEC SQL FETCH IBMSNAP_SUBS_MEMBR INTO
    :IBMSNAP_SUBS_MEMBR_APPLY_QUAL :IBMSNAP_SUBS_MEMBR_apply_qual,
    :IBMSNAP_SUBS_MEMBR_SET_NAME :IBMSNAP_SUBS_MEMBR_set_name,
    :IBMSNAP_SUBS_MEMBR_WHOS_ON_FIRST :IBMSNAP_SUBS_MEMBR_whos_on_first,
    :IBMSNAP_SUBS_MEMBR_SOURCE_OWNER :IBMSNAP_SUBS_MEMBR_source_owner,
    :IBMSNAP_SUBS_MEMBR_SOURCE_TABLE :IBMSNAP_SUBS_MEMBR_source_table,
    :IBMSNAP_SUBS_MEMBR_SOURCE_VIEW_QUAL
	  :IBMSNAP_SUBS_MEMBR_source_view_qual,
    :IBMSNAP_SUBS_MEMBR_TARGET_OWNER :IBMSNAP_SUBS_MEMBR_target_owner,
    :IBMSNAP_SUBS_MEMBR_TARGET_TABLE :IBMSNAP_SUBS_MEMBR_target_table,
    :IBMSNAP_SUBS_MEMBR_TARGET_CONDENSED
	  :IBMSNAP_SUBS_MEMBR_target_condensed,
    :IBMSNAP_SUBS_MEMBR_TARGET_COMPLETE :IBMSNAP_SUBS_MEMBR_target_complete,
    :IBMSNAP_SUBS_MEMBR_TARGET_STRUCTURE
	  :IBMSNAP_SUBS_MEMBR_target_structure
  ;
	sqlca.sqlerrmc[ 69 ] = '\0';

  setcode();
  if( 0 ==getcode())
  {
    if( 0 <=IBMSNAP_SUBS_MEMBR_apply_qual)
    {
      memcpy(APPLY_QUAL,IBMSNAP_SUBS_MEMBR_APPLY_QUAL,sizeof(APPLY_QUAL ));
    } else
    {
      APPLY_QUAL[ 0 ]='\0';
    }
    if( 0 <=IBMSNAP_SUBS_MEMBR_set_name)
    {
      memcpy(SET_NAME,IBMSNAP_SUBS_MEMBR_SET_NAME,sizeof(SET_NAME ));
    } else
    {
      SET_NAME[ 0 ]='\0';
    }
    if( 0 <=IBMSNAP_SUBS_MEMBR_whos_on_first)
    {
      memcpy(WHOS_ON_FIRST,IBMSNAP_SUBS_MEMBR_WHOS_ON_FIRST,
		  sizeof(WHOS_ON_FIRST ));
    } else
    {
      WHOS_ON_FIRST[ 0 ]='\0';
    }
    if( 0 <=IBMSNAP_SUBS_MEMBR_source_owner)
    {
      memcpy(SOURCE_OWNER,IBMSNAP_SUBS_MEMBR_SOURCE_OWNER,
		  sizeof(SOURCE_OWNER ));
    } else
    {
      SOURCE_OWNER[ 0 ]='\0';
    }
    if( 0 <=IBMSNAP_SUBS_MEMBR_source_table)
    {
      memcpy(SOURCE_TABLE,IBMSNAP_SUBS_MEMBR_SOURCE_TABLE,
		  sizeof(SOURCE_TABLE ));
    } else
    {
      SOURCE_TABLE[ 0 ]='\0';
    }
    if( 0 <=IBMSNAP_SUBS_MEMBR_source_view_qual)
    {
      SOURCE_VIEW_QUAL=IBMSNAP_SUBS_MEMBR_SOURCE_VIEW_QUAL;
    } else
    {
      SOURCE_VIEW_QUAL= 0 ;
    }
    if( 0 <=IBMSNAP_SUBS_MEMBR_target_owner)
    {
      memcpy(TARGET_OWNER,IBMSNAP_SUBS_MEMBR_TARGET_OWNER,
		  sizeof(TARGET_OWNER ));
    } else
    {
      TARGET_OWNER[ 0 ]='\0';
    }
    if( 0 <=IBMSNAP_SUBS_MEMBR_target_table)
    {
      memcpy(TARGET_TABLE,IBMSNAP_SUBS_MEMBR_TARGET_TABLE,
		  sizeof(TARGET_TABLE ));
    } else
    {
      TARGET_TABLE[ 0 ]='\0';
    }
    if( 0 <=IBMSNAP_SUBS_MEMBR_target_condensed)
    {
      memcpy(TARGET_CONDENSED,IBMSNAP_SUBS_MEMBR_TARGET_CONDENSED,
		  sizeof(TARGET_CONDENSED ));
    } else
    {
      TARGET_CONDENSED[ 0 ]='\0';
    }
    if( 0 <=IBMSNAP_SUBS_MEMBR_target_complete)
    {
      memcpy(TARGET_COMPLETE,IBMSNAP_SUBS_MEMBR_TARGET_COMPLETE,
		  sizeof(TARGET_COMPLETE ));
    } else
    {
      TARGET_COMPLETE[ 0 ]='\0';
    }
    if( 0 <=IBMSNAP_SUBS_MEMBR_target_structure)
    {
      TARGET_STRUCTURE=IBMSNAP_SUBS_MEMBR_TARGET_STRUCTURE;
    } else
    {
      TARGET_STRUCTURE= 0 ;
    }
//    if( 0 <=IBMSNAP_SUBS_MEMBR_predicates)
//    {
//      memcpy(PREDICATES,
//IBMSNAP_SUBS_MEMBR_PREDICATES.IBMSNAP_SUBS_MEMBR_PREDICATES,
//sizeof(PREDICATES ));
//    } else
//    {
//      PREDICATES[ 0 ]='\0';
//    }
  }
}
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / DB2 connect...
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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