問題現(xiàn)象:用友T3財(cái)務(wù)軟件在年結(jié)的時(shí)候建立年度賬的時(shí)候提示:將截?cái)嘧址蚨M(jìn)制數(shù)據(jù)。錯(cuò)誤提示如下圖所示。Inventory表的cInvStd列(規(guī)格型號(hào)),列長為80字符,而默認(rèn)是60字符,所以報(bào)錯(cuò)。
問題分析:使用事件探測(cè)器跟蹤出錯(cuò)語句如下:INSERT INTO Inventory(cInvCode,cInvAddCode,cInvName,cInvStd,cInvCCode,…) Values('100001','KKHP','咳快好片','26.4mg*96T[大連天宇海濱制藥有限公司]','10',…)
解決方案:供應(yīng)商檔案里的供應(yīng)商簡(jiǎn)稱長度為60個(gè)字符(即30個(gè)中文字),由于用戶供應(yīng)商簡(jiǎn)稱過長而不夠使用,從而修改表Vendor(供應(yīng)商檔案表)的cVenAbbName字段列(供應(yīng)商簡(jiǎn)稱)的長度為70個(gè)字符,導(dǎo)致新年度賬在傳輸基礎(chǔ)數(shù)據(jù)表Vendor時(shí)報(bào)錯(cuò),具體報(bào)錯(cuò)情況和修改流程如下(注:賬套號(hào)333,年度2008,新建2009年年度賬時(shí)報(bào)錯(cuò),修改以說明的方式2為例)
1、用友T3軟件建立新年度賬時(shí)報(bào)錯(cuò),提示:將截?cái)嘧址蚨M(jìn)制數(shù)據(jù):
2、原因是Ufmodel庫生成的新年度賬Vendor表的cVenAbbName列長度為60,而去年此列長度為70,導(dǎo)致在不能寫入此表數(shù)據(jù):
3、當(dāng)然如果2008年cVenAbbName列沒有記錄數(shù)大于60個(gè)字符,在新年度中插入表記錄時(shí)也沒問題,但進(jìn)表觀察有一記錄為33個(gè)中文字(66個(gè)字符),所以原因在于33個(gè)中文字插入失?。?/p>
4、如果采用方式1修改一下2008年此供應(yīng)商簡(jiǎn)稱改為30個(gè)中文字之內(nèi),等生成新年度賬后再改為原供應(yīng)商簡(jiǎn)稱即可,現(xiàn)在采用方式2修改Ufmodel庫,操作如下,先還原Ufmodel數(shù)據(jù)庫:
5、在常規(guī)欄中數(shù)據(jù)庫名稱為Ufmodel:
6、選項(xiàng)欄物理文件名可能硬盤中不存在,需手工調(diào)整,如改為c:\ufdata.ldf和c:\ufdata.mdf:
7、現(xiàn)在Ufmodel數(shù)據(jù)庫已正常還原,然后調(diào)整數(shù)據(jù)庫結(jié)構(gòu),找到Vendor表選設(shè)計(jì)表:
8、修改cVenAbbName列長度為70:
9、修改后保存,現(xiàn)在數(shù)據(jù)庫結(jié)構(gòu)已做調(diào)整,接下去備份Ufmodel數(shù)據(jù)庫:
10、覆蓋原Ufmodel.bak文件即可:
11、再建立2009年新年度賬,建立成功: