日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Sybase常见问题

發(fā)布時間:2025/3/8 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Sybase常见问题 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1.?Sybase數(shù)據(jù)庫日志滿
??? 碰到這種情況,常會出現(xiàn)能查詢數(shù)據(jù),但無法更新數(shù)據(jù),啟動事務(wù)等。在代碼中跟蹤可以發(fā)現(xiàn),連接能夠打開,但事務(wù)卻無法開啟。常會提示“Connection to Sybase server has been lost. All active transactions have been rollbacked”的錯誤信息。
???解決辦法:
??? 若是開發(fā)數(shù)據(jù)庫,則直接清除日志即可。? 若是正式數(shù)據(jù)庫:建議備份當(dāng)前日志??再清空日志,擴(kuò)日志設(shè)備及日志數(shù)據(jù)庫。清空日志的語句為『dump ? transaction ? database_name ? with ? no_log?』
2.Sybase中文亂碼
??? 出現(xiàn)這種情況的原因是sybase的服務(wù)器字符集不支持中文或是客戶端的字符集與服務(wù)端字符集不一致??梢钥紤]更改sybase的默認(rèn)字符集。在Sybase12.5的版本中支持中文的字符集有CP936、EUCGBUTF-8GB18030。這里我們針對Sybase服務(wù)器字符集不支持中文給出解決辦法:
??解決辦法(安裝cp936字符集):
?? 假設(shè)sybase的安裝路徑為"D:\Sybase"。
?? (1)D:\>cd \sybase\charsets\cp936
???(2)?D:\sybase\charsets\cp936> charset -Usa -Psa_pass -Sserver_name binary.srt cp936
???(3)?在
InterActiveSQL中執(zhí)行『select name,id from syscharsets』,需注意的是這里要選擇在“master”數(shù)據(jù)庫下執(zhí)行,第4步也是。找到name為cp936的ID,假定是171。
????(4)在InterActiveSQL中執(zhí)行『sp_configure 'default character set id',171』
?????(5) 重啟Sybase服務(wù)兩次。因為第一次啟動后會自動結(jié)束掉,所以需要重啟第二次。?? 3.Sybase自增字段跳號處理 跳號原因及影響:
???? 在Sybase數(shù)據(jù)庫中如果數(shù)據(jù)庫在開啟的情況下,因為非正常的原因(死機(jī)、斷電)而導(dǎo)致數(shù)據(jù)庫服務(wù)進(jìn)程強(qiáng)制結(jié)束。
那么自動增長的字段將會產(chǎn)生跳號的情況,再往數(shù)據(jù)表里面插入記錄時,自增字段會跳到一個相當(dāng)大的值上面,以至于主鍵的自增值極有可能被用盡,或由于數(shù)值太大,應(yīng)用程序中的數(shù)據(jù)類型如int型等已無法容下這么大的值,而無法在程序里面進(jìn)行相關(guān)的操作。

解決辦法:
如果還未發(fā)生過跳號情況,可按如下辦法解決:
??? 1.執(zhí)行【 select 'sp_chgattribute ' + name + ', ''' + 'identity_gap' + '''' + ', 60 go'
????? from sysobjects
????? where type='U'】。其中的60是憑感覺給的一個值,一般來說這個值越大性能越好,但越大,再發(fā)生數(shù)據(jù)庫服務(wù)進(jìn)程非正常結(jié)束時,所跳的號也就越大。
????2.對1執(zhí)行的結(jié)果,拷貝到SQL編輯區(qū)域,再執(zhí)行。
若已經(jīng)發(fā)生跳號,需要將表中數(shù)據(jù)導(dǎo)出,再重建數(shù)據(jù)表,再執(zhí)行1和2。再導(dǎo)入數(shù)據(jù)。

后話:
??? Sybase自增字段有個最大的問題是,再移植數(shù)據(jù)庫時,如果是按自增主鍵進(jìn)行關(guān)聯(lián)的數(shù)據(jù)表,在數(shù)據(jù)重新導(dǎo)入后,可能出現(xiàn)主從表的外鍵無法關(guān)聯(lián)的情況,我是開始時沒預(yù)料到這樣的情況,現(xiàn)木已成舟,沒有辦法了。
以后還是要慎用自增字段作為主鍵。 ?4.從sybase數(shù)據(jù)庫中讀取圖片無法完整顯示 原因: 由于其存取大文件的默認(rèn)大小為32K,所以導(dǎo)致數(shù)據(jù)不能全部讀出,所以大于32k的圖片就只能顯示部分。 解決辦法 非常簡單,只需要在你響應(yīng)的sql語句之前,再加上【set ? textsize ? 3000000??】就OK了。

轉(zhuǎn)載于:https://blog.51cto.com/lijun050802/194176

總結(jié)

以上是生活随笔為你收集整理的Sybase常见问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。