以下のような種類の構文を使用して、いくつかの旧式のPro * Cコードがあります。
この種のパターンは、オンライン・フォーラムでは見つかりますが、Oracleのマニュアルには記載されていません。
特に、Google can't find any doc about "sqhsts" on the Oracle website。このPro * Cパターンは一種のベストプラクティスですか、それとも文書化されていますか?
このパターンはどこかに書かれていますか?
これは良いプログラミング方法と考えられますか?
/* cud (compilation unit data) array */
static const short sqlcud0[] =
{10,4130,832,0,0,
5,0,0,1,0,0,27,23,0,0,4,4,0,1,0,1,97,0,0,1,97,0,0,1,97,0,0,1,10,0,0,
36,0,0,2,30,0,4,25,0,0,1,0,0,1,0,2,97,0,0,
};
/* EXEC SQL CONNECT :user IDENTIFIED BY :pwd USING :url; */
{
struct sqlexd sqlstm;
sqlstm.sqlvsn = 10;
sqlstm.arrsiz = 4;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.iters = (unsigned int)10;
sqlstm.offset = (unsigned int)5;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)256;
sqlstm.occurs = (unsigned int)0;
sqlstm.sqhstv[0] = (void *)user;
sqlstm.sqhstl[0] = (unsigned int)0;
sqlstm.sqhsts[0] = (int)0;
sqlstm.sqindv[0] = (void *)0;
sqlstm.sqinds[0] = (int)0;
sqlstm.sqharm[0] = (unsigned int)0;
sqlstm.sqadto[0] = (unsigned short)0;
sqlstm.sqtdso[0] = (unsigned short)0;
sqlstm.sqhstv[1] = (void *)pwd;
sqlstm.sqhstl[1] = (unsigned int)0;
sqlstm.sqhsts[1] = (int)0;
sqlstm.sqindv[1] = (void *)0;
sqlstm.sqinds[1] = (int)0;
sqlstm.sqharm[1] = (unsigned int)0;
sqlstm.sqadto[1] = (unsigned short)0;
sqlstm.sqtdso[1] = (unsigned short)0;
sqlstm.sqhstv[2] = (void *)url;
(コードhereからコピーされたが、鉱山に類似)
どのような構成になっていますか? –
私はこれが生成されたコードではなく、オリジナルのプロ*ソースだと思います。生成されたコードを気にする必要はありません。 –
@Seth:私はsqlcud0を参照し、sqlstmを充填しています。私は両方とも接続されており、常に一緒に使用されると思います。 –