新聞中心
此文章主要講述的是DB2數(shù)據(jù)庫編譯的兩個問題(C語言),你如果對DB2數(shù)據(jù)庫編譯的兩個問題(C語言),有興趣的話你就可以點擊以下的文章進(jìn)行觀看了,希望會給你帶來一些幫助在此方面。

創(chuàng)新互聯(lián)專注于阿里地區(qū)企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,商城網(wǎng)站建設(shè)。阿里地區(qū)網(wǎng)站建設(shè)公司,為阿里地區(qū)等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站,專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
DB2編譯C語言, 編譯, 高手
我現(xiàn)在遇到了DB2編譯的2個問題(C語言)
1、按64位編譯
makefile里db2所鏈接的庫指向64位庫,并且CC參數(shù)指明-q64時編譯,
提示"The typedef definition of wchar_t is incompatible with the option wchar_t_size"
經(jīng)查,就是32位與64位的區(qū)別。忽略此錯誤,運行執(zhí)行程序時,所有關(guān)于數(shù)據(jù)庫的變量(sqlca.sqlcode)
值就是亂值,例如當(dāng)錯誤碼為-303時,實際應(yīng)為-303,它的值卻為538976288。
將makefile的庫指向32,并且cc編譯參數(shù)修改為-q32時,上面的問題就解決了。
現(xiàn)在按要求必須按64位進(jìn)行DB2數(shù)據(jù)庫編譯,我該如何處理,以解決上面的矛盾?
2、類型不匹配
按數(shù)據(jù)庫表結(jié)構(gòu),在*.h文件中定義對應(yīng)的宏,如果結(jié)構(gòu)中有字段類型為int或long時,
當(dāng)我把變量類型時定義為int時提示如下錯誤:
- The token "int" found in a host variable declaration is not valid
很明顯,該錯誤知int不合法,換個即可。
將所有int型修改long型時則提示:
- The 'long' host variable "fieldnum" is not valid.Use 'sqlint32' instead。
由于現(xiàn)在的機器是64位的,我將long型統(tǒng)一修改為sqlint32或sqlint64,DB2數(shù)據(jù)庫編譯均通過
但是在執(zhí)行時,提示錯誤碼為303的錯誤,即類型不匹配:
- SQL0303N A value cannot be assigned to a host variable in the
- SELECT, VALUES, or FETCH statement because the data
- types are not compatible.
h文件中sqlint32型或sqlint64型的變量,在數(shù)據(jù)庫中定義的類型為int型。
上述的相關(guān)內(nèi)容就是對DB2數(shù)據(jù)庫編譯的2個問題(C語言),DB2高手的請進(jìn)的描述,希望會給你帶來一些幫助在此方面。
網(wǎng)頁標(biāo)題:DB2數(shù)據(jù)庫編譯中那兩個問題會困擾你?
標(biāo)題URL:http://m.fisionsoft.com.cn/article/cciopdo.html


咨詢
建站咨詢
