为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:达梦数据库管理系统 DM8开发版
【操作系统】:CentOS7
【CPU】: intel
【问题描述】*:
sdint4 liCharSet = PG_GB18030;
DPIRETURN liRetCode = dpi_set_env_attr(mpoDmEnv, DSQL_ATTR_LOCAL_CODE, (dpointer)&liCharSet, sizeof(liCharSet));
if (!DSQL_SUCCEEDED(liRetCode)) {
//申请mpoDmEnv时是没有报错的, 但设置本地编码时, 代码会执行到这里, 这说明设置本地编码失败了
}
或
sdint4 liCharSet = PG_GB18030;
DPIRETURN liRetCode = dpi_set_con_attr(mpoDmCon, DSQL_ATTR_LOCAL_CODE, (dpointer)&liCharSet, sizeof(liCharSet));
if (!DSQL_SUCCEEDED(liRetCode)) {
//申请mpoDmEnv和mpoDmCon时是没有报错的, 但设置本地编码时, 代码会执行到这里, 这说明设置本地编码失败了
}
sdint4 codeCharset = PG_GB18030;
ret = dpi_set_env_attr(envhp, DSQL_ATTR_LOCAL_CODE, (dpointer)codeCharset,0);
应该不需要加取址,可以试一下