DB2数据库编译中那两个问题会困扰你?

此文章主要讲述的是DB2数据库编译的两个问题(C语言),你如果对DB2数据库编译的两个问题(C语言),有兴趣的话你就可以点击以下的文章进行观看了,希望会给你带来一些帮助在此方面。

创新互联专注于阿里地区企业网站建设,成都响应式网站建设公司,商城网站建设。阿里地区网站建设公司,为阿里地区等地区提供建站服务。全流程定制网站,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务

DB2编译C语言, 编译, 高手

我现在遇到了DB2编译的2个问题(C语言)

1、按64位编译

makefile里db2所链接的库指向64位库,并且CC参数指明-q64时编译,

提示"The typedef definition of wchar_t is incompatible with the option wchar_t_size"

经查,就是32位与64位的区别。忽略此错误,运行执行程序时,所有关于数据库的变量(sqlca.sqlcode)

值就是乱值,例如当错误码为-303时,实际应为-303,它的值却为538976288。

将makefile的库指向32,并且cc编译参数修改为-q32时,上面的问题就解决了。

现在按要求必须按64位进行DB2数据库编译,我该如何处理,以解决上面的矛盾?

2、类型不匹配

按数据库表结构,在*.h文件中定义对应的宏,如果结构中有字段类型为int或long时,

当我把变量类型时定义为int时提示如下错误:

 
 
 
 
  1. The token "int" found in a host variable declaration is not valid

很明显,该错误知int不合法,换个即可。

将所有int型修改long型时则提示:

 
 
 
 
  1. The 'long' host variable "fieldnum" is not valid.Use 'sqlint32' instead。

由于现在的机器是64位的,我将long型统一修改为sqlint32或sqlint64,DB2数据库编译均通过

但是在执行时,提示错误码为303的错误,即类型不匹配:

 
 
 
 
  1. SQL0303N A value cannot be assigned to a host variable in the
  2. SELECT, VALUES, or FETCH statement because the data
  3. types are not compatible.

h文件中sqlint32型或sqlint64型的变量,在数据库中定义的类型为int型。

上述的相关内容就是对DB2数据库编译的2个问题(C语言),DB2高手的请进的描述,希望会给你带来一些帮助在此方面。

本文题目:DB2数据库编译中那两个问题会困扰你?
链接地址:http://www.shufengxianlan.com/qtweb/news45/18095.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联