日常工作中使用PowerBuilder和sybase遇到的问题
- 格式:docx
- 大小:122.80 KB
- 文档页数:20
Powerbuilder精彩问答1.如何改变groph中图像的颜色graph中图像的颜色只能在对象创建时修改,但窗口的open事件发生在对象创建之后,因此,只能该对象定义一个"create"用户事件,在这个事件的代码中修改graph中series的颜色dw_1.SetSeriesStyle("gr_1", dw_1.seriesname('gr_1',1),Foreground!, 65535)用户事件的id是pbm_dwngraphcreate------------------------------------2.求救!如何在PB中实现一行一打1。
生成一个打印作业long printJobstring printStringprintJob = PrintOpen()2。
调用各种打印函数来打印数据,如printText()等-----------------------------------3.请教如何在程序中启动控制面板中的'密码'修改程序?Function Long ShellExecute(Long hwindow, String lpOperation, String lpFile,String lpParameters, String lpDirectory, Long nShowCmd) Library'shell32.dll'Alias for ShellExecuteAFunction Long GetDesktopWindow() Library 'user32.dll'脚本如下:String ls_cpl_nameString ls_nullSetNull(ls_null)ls_cpl_name = "Password.cpl"ShellExecute(GetDesktopWindow(), ls_null, 'rundll32.exe',"shell32.dll,Control_RunDLL" + ls_cpl_name + ",", ls_null, 0)---------------------------------------------4.再问一个问题,如何获取NT的用户名?FUNCTION ulong WNetGetUser(ref string lpName,ref string lpUserName,ref ulonglpnLength) LIBRARY "mpr.dll" ALIAS FOR "WNetGetUserA"string ls_name, ls_usernameulong ll_lenll_len = 256ls_username = space(ll_len)setnull(ls_name)WNetGetUser(ls_Name,ls_UserName,ll_Len) messagebox("用户名",ls_username)-----------------------------------------------5.如何让header的内容只打印一次1。
Sybase服务故障的分析及解决办法一、问题的起因国库业务系统用DELL服务器原为国库核算系统、国库统计系统、国库综合业务报表系统、国债兑付管理系统四套业务系统的工作机,自2003年以来就投入运行,因使用时间较长,期间做过不少次系统配置更改及业务系统升级换代,因此运行速度越来越慢,且常出现些小问题,为此笔者新装了一台HP DX2000计算机作为生产机,而把DELL服务器改作备份机,以便于有充裕的时间对其进行系统的整理维护,提高其整体性能。
前些天,国库业务人员因为业务问题需要使用备份机,发现国库综合业务系统无法正常登录,查询服务功能,发现NTRS服务没有启动,如是采用手工启动的方法,结果出现如下错误提示:“在本地计算机,无法启动Sybse SQLServer_ntrs服务并未返回错误。
这可能是一个Windows内部错误或服务内部。
如果问题持续存在,请与您的系统管理员联系。
”二、处理的过程为解决此故障,笔者反复多次启动服务,乃至重新启动机器,但问题依然如此,联想到新装HP DX2000计算机更改IP地址时也出现过如此问题,而且Sybase Config也经常出现启动错误,需要到Sybase 系统目录中找到对应文件直接执行才能解决问题,因此认为Sybase本身可能存在某些问题,需要手工更改其他配置。
如是笔者打电话咨询总行信息技术支持中心,答复这个问题咨询的电话较多,每周都有好几个,这属于Sybase系统本身的不完善问题,而总行已经解除了与Sybase公司的服务协议,因此没有办法解决,只能删除NTRS服务再重建。
辛辛苦苦建立的NTRS服务,怎忍心一删了事,而且国库统计系统、国库综合业务报表系统、国债兑付管理系统三套系统都使用此服务,到时恢复起来也较费事。
抱定不到黄河心不死,见到棺材也不落泪的心里,笔者广泛查找资料,多方电话咨询Sybase方面的专家,经过连续数天的实践摸索,终于查明是Sybse服务配置的冲突所至,需要通过Sybase Dsedit更改系统配置或手工清理、修改SQL.ini文件。
PowerBuilder 11.x 的重要进步和不足(发表时间: 2009-7-27 15:13:00)【评论】【打印】【字体:大中小】本文链接:/yuanqitech/45666.html复制链接分享到:标签:PowerBuilder11.xPowerBuilder 11(以下简称PB)出来有一段时间了,但很多用户对PB11的到底有哪些进步还不是很清楚,由于对PB11缺乏了解和信心,目前用PB11做出像样应用的用户不多,这确实非常遗憾,这里我讲一下我对PB11的重要进步和一些不足的理解,希望能给一些还没有接触PB11或正在观望的用户一些参考意见。
PB11取得的重要进步:1、选择对.NET的全面支持,站对了队伍PB11之前,PB做了大量对Java的支持的工作,努力想傍上Java这个神仙,可惜Java这个神仙不食人间烟火,而搞Java的都是一帮“贵族”,强调开源和免费,对开发效率似乎不是最看重的,而且Pb先后想从PowerDynamo和Powersite中找到突破口,结果都无功而返。
PB11这次终于站对了队伍,因为微软的.NET和PB一样,都是要追求开发效率,屏蔽开发细节,让开发人员把精力专注在业务需求的解决上,从而为企业创造更高的投入产出比,而PB11站在.NET的肩膀上来做,重点在数据库业务处理上发挥优势,这次终于修成正果!2、可以快速开发数据业务处理的B/S应用PB11开发.NET ASPX WebForm的B/S应用已经基本成熟,PB11.2以后引入了AJAX特性,使开发出的B/S应用Postback大量减少,用户体验得到改善,从而达到完全实用状态,我们的一些Partner已经用Pb11.5开发出像样的B/S应用。
当然,Pb11开发B/S应用,首先需要明确,只适合用于数据库业务系统的开发,如果你指望用来开发网站之类的,是明显不适合的;另外,如果你想让你的B/S应用更象Web应用,可以不用PB标准的窗口方式,而改用可视化对象动态创建的方式来实现页面切换,并且用链接代替按钮等多种策略。
SYBASE常见问题解答技术服务园地rECHNOlO(;YSER,lCFIlI|)lnlVOI.16Nt'.1技术服务园地品质征服世界,实力赢得未来对于笔记本电脑行业来说,2006年是具有历史意义的一年.这一年里,笔记本电脑从消费关注度,市场销售增长率,未来发展潜力等方面,第1次超越了台式机,成为个人电脑市场上的主宰.从用户角度看,与以时尚设计和功能创新为亮点的消费类笔记本价格持续下滑不同,更注重安全稳定的商务笔记本价位却起伏不大.因为用户在选择商用笔记本的时候,考虑更多的是产品品质及相关的服务.可以说,产品品质已经成为商务笔记本用户关注的重要因素.从厂商角度看,复杂的市场环境对国内笔记本电脑厂商们来说是一个机遇和挑战并存的一年.而在盘点每个品牌的精彩表现时,我们不得不提联想.因为联想笔记本取得了高速的增长,在中国的成绩更是令人艳羡.l联想昭阳品质行天下多年来,作为联想产品家族的重要一员,联想昭阳在中国笔记本电脑市场销量排行榜上一直名列前茅.2006年中,联想昭阳始终关注商业客户的需求,不断推出高品质,高性能的优秀产品来满足客户的需求.无论是"零故障"服务都灵冬奥会,还是圆满完成"可可西里科学考察探秘行动",联想昭阳无不彰显其品质的独特魅力.2006年2月,在意大利举行的都灵冬奥会上,600多台联想昭阳笔记本作为唯一专用的笔记本产品不负众望,以"零故障"的完美表现获得了国际奥组委和都灵组委会以及国际各大媒体多方的赞誉.在17天的冬奥会现场,联想昭阳和联想其他IT产品一起,以其稳定性和可靠性确保各项赛事准确无误的记录,计算和传输,所有设备自始至终运转自如,创造了所有产品"零故障"的完美纪录,获得了奥组委和冬奥组委会的一致认可,联想也因此获得了奥组委"EXCELLENT",即"卓越"的评价.对于一款品质过硬的商用笔记本电脑而言,既需要承担起繁重的工作任务,也必需能够经受住环境,气候,意外危险等各种风险的考验.继在都灵目叵墨墨囡置匝疆正匿墨目(上接2o06年第一2期) 常见ErrorMsg的处理Errorll31解决方案:有关表删除重建Error1508由于有重复的记录,建聚簇索引失败,会报如下出错信息:ServerMessage:Number1508,Severity16Server'PLJNEW'.Linel: Createindexabortedonduplicaterows.Primarykeyis'1'这时应考虑使用选项withallow—dup—row,例如: createclusteredindextest..id——indontest——duprows(a)withallow—dup—rowError16O1问题分析:当前设置的用户连接数不够解决方案: increase"numberofuserconnections"Error1621解决方案:检查接口文件.确认ASESERVER所用端口只为SYBASE客户端访问.Error251O解决方案:将有关索引删除SYBASE软件(中困)有限公司也话:86-10-68568488。
SYBASE常见问题收集整理一、如何解决数据库被标记为"suspect"的问题之一(一般解决方案)?A.现象:Error 926Severity Level 14Error Message TextDatabase 'xx' cannot be opened - it has been marked SUSPECT by recover Explanation (1) 当你使用Transact_SQL命令操作这个数据库的数据时, 出现这个信息, 这是一个严重的错误, 如果你要使用这个数据库的数据, 必须改正这个错误.(2) 启动Backup Server, 后备master数据库1>dump database master to "/usr/sybase/master_dump.19991201"2>go(3) 用isql登录到SQL Server, 须用sa帐号(本文以pubs2数据库为例)1>sp_configure "allow updates", 12>go1>begin tran2>go1>update master..sysdatabases2>set status = -327683>Where name="pubs2"4>go如果得到(1 row affected),则1>commit2>go否则1>rollback2>go(4.1)如果条件允许,bcp out用户数据或dump用户数据库(5.1)这时重新启动SQL Server, 再有sa帐号注册到SQL Server.1>begin tran2>go1>update master..sysdatabases2>set status=03>Where name="pubs2"4>go如果得到(1 row affected),则1>commit2>go否则1>rollback2>go1>sp_configure "allow updates" ,02>go(4) 如果你的数据库原来有dboption(例如"select into","trunc log on chkpt"等), 你需要重新设置这些option..(5) 运行dbcc命令检查数据库的一致性isql -Usa -P -i dbcc.sql -o dbcc.outdbcc.sql文件示例:dbcc checkdb("pubs2")godbcc checkalloc("pubs2")godbcc checkcatalog("pubs2")gogrep Msg dbcc.out6) 后备用户数据库1>dump database pubs2 on "/usr/sybase/pubs2_dump.19991201"2>go如何解决数据库被标记为"suspect"的问题之二(数据库设备损坏时的解决方案)?A.现象:926错误产生的原因有几种。
如何解决Sybase数据库乱码问题详解Sybase数据库是一种常用的关系型数据库管理系统(RDBMS),它被广泛应用于企业级应用程序的开发和管理中。
然而,在使用Sybase数据库过程中,我们有时会遇到乱码问题。
乱码是指数据库中存储的数据在显示过程中出现了不正常的字符或者无法识别的字符。
本文将详细介绍如何解决Sybase数据库乱码问题。
一、乱码问题的原因分析乱码问题的产生原因非常多样化,下面列举了一些常见的原因:1. 字符集不匹配:数据库中使用的字符集与应用程序中使用的字符集不一致会导致乱码问题。
2. 数据导入不正确:如果在导入数据时未指定正确的字符集,则可能导致数据乱码。
3. 数据存储不正确:如果数据库中存储的字符串没有使用正确的字符集,将会导致乱码问题。
4. 字符串处理不当:在应用程序中对字符串进行处理时,如果没有正确处理字符集,数据可能会出现乱码。
5. 系统环境配置问题:有时,操作系统、数据库软件或应用程序中的某些配置存在问题,也可能导致乱码问题。
二、解决乱码问题的方法针对上述原因,可以采取以下一些解决乱码问题的方法:1. 修改字符集配置:确保数据库中使用的字符集与应用程序中使用的字符集一致。
可以通过修改数据库或应用程序的配置文件来设置正确的字符集。
2. 指定正确的字符集进行导入:在导入数据时,需要指定正确的字符集,以保证数据能够正确地存储到数据库中,避免乱码问题的发生。
可以根据具体情况使用不同的导入工具或命令来完成这个操作。
3. 使用合适的数据类型:在创建数据库表时,选择合适的字符数据类型来存储字符串。
根据具体情况选择varchar、nvarchar等数据类型,并指定正确的字符集。
4. 对字符串进行正确的处理:在应用程序中,对于涉及到字符串处理的操作,需要确保使用了正确的字符集。
比如,对字符串进行拼接、截取、比较、转换等操作时,都需要注意字符集的一致性。
5. 检查系统环境配置:如果乱码问题持续存在,需要检查系统环境配置是否正确,包括操作系统、数据库软件和应用程序的相关配置。
pb(powerbuilder)异常及错误打开任意⼀个数据窗时,提⽰“sybase powerbuilder已停⽌⼯作”解决⽅法,错误如图所⽰⼀、打开任意⼀个数据窗时,提⽰⼀、解决⽅法1:找到注册表(运⾏:regedit)中HKEY_USERS\S-1-5-21-1060284298-1004336348-839522115-1003\Software\Sybase\PowerBuilder\9.0\Layout\Default,然后删除其中的Datawindow项⽬解决⽅法2:卸载PB 清理注册表,重启电脑,换个路径重新安装。
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------⼆、使⽤return 1 处理报错信息:在DataWindow的DBError事件下:写脚本return 1 (如果返回1会触发itemchange事件)Return valueSet the return code to affect the outcome of the event:0 (Default) Reject the data value and show an error message box1 Reject the data value with no message box2 Accept the data value3 Reject the data value but allow focus to changeitemerror事件的返回值0——缺省值,显⽰出错信息,拒绝输⼊值并显⽰有效性检查,出错信息同时不允许移⾛焦点;1——不显⽰出错信息,拒绝输⼊信息,同时不允许移⾛焦点;2——不显⽰出错信息,接收输⼊值;3——不显⽰出错信息,拒绝输⼊信息,允许移⾛焦点;---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------三、数据管道 pipelineobject.Start 错误列表Integer. Returns 1 if it succeeds and a negative number if an error occurs.Error values are:-1 Pipe open failed-2 Too many columns-3 Table already exists-4 Table does not exist-5 Missing connection-6 Wrong arguments-7 Column mismatch-8 Fatal SQL error in source-9 Fatal SQL error in destination-10 Maximum number of errors exceeded-12 Bad table syntax-13 Key required but not supplied-15 Pipe already in progress-16 Error in source database-17 Error in destination database-18 Destination database is read-onlyIf any argument's value is NULL, Start returns NULL.String ls_errortextIF IsNull( ai_ErrCode ) THENls_errortext = "传递了空参数!"RETURN ''END IFCHOOSE CASE ai_ErrCodeCASE - 1ls_errortext = "数据管道打开错误!请检查所有的对象是否有效.错误代码:" + String( ai_ErrCode )CASE - 2ls_errortext = "列数超过上限!错误代码:" + String( ai_ErrCode )CASE - 3ls_errortext = "⽬的表已存在!错误代码:" + String( ai_ErrCode )CASE - 4ls_errortext = "⽬的表不存在!错误代码:" + String( ai_ErrCode )CASE - 5 //common start()函数与repair()函数公⽤错误代码ls_errortext = "连接被断开!错误代码:" + String( ai_ErrCode )CASE - 6ls_errortext = "错误参数!"CASE - 7ls_errortext = "列类型不匹配!错误代码:" + String( ai_ErrCode )CASE - 8ls_errortext = "源SQL语法错误!错误代码:" + String( ai_ErrCode )CASE - 9 //commonls_errortext = "⽬的SQL语法错误!错误代码:" + String( ai_ErrCode )CASE - 10 //commonls_errortext = "发⽣错误个数超过最⼤界定错误数!错误代码:" + String( ai_ErrCode )CASE - 11 //repair专⽤错误代码ls_errortext = "⽆效的窗⼝句柄!错误代码:" + String( ai_ErrCode )CASE - 12 //commonls_errortext = "错误的表语法!错误代码:" + String( ai_ErrCode )CASE - 13ls_errortext = "空的主键值!错误代码:" + String( ai_ErrCode )CASE - 15 //commonls_errortext = "该数据管道已打开!错误代码:" + String( ai_ErrCode )CASE - 16ls_errortext = "错误发⽣在源数据库!错误代码:" + String( ai_ErrCode )CASE - 17 //commonls_errortext = "错误发⽣在⽬的数据库!错误代码:" + String( ai_ErrCode )CASE - 18 //commonls_errortext = "⽬标数据库只读!错误代码:" + String( ai_ErrCode )END CHOOSERETURN ls_errortext-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------四、Database transaction information not available.Call SetTras or SetTransObject function1、dw控件没有加settransobject。
Sybase数据库故障处理方法一、Sybsystemprocs 库“挂起”解决办法1.修改文件,修改Sybase 数据库可以修改系统参数.2.$ vi查找“allow updates” ,将其修改为1.(缺省值为0).既allow updates to system tables=1重新启动系统.3.用 isql 登录到sql server 中,修改master库中sysdatabases 表中sybsystemprocs 库对应的status 的值为-32768.$isql –Usa –P1>update master..sysdatabases2>set status = -32768 where name =”sybsystemprocs”1>go1>shutdown with nowait2>go关闭数据库重新启动.4.用 isql 登录到sql server 中,修改master库中sysdatabases 表中sybsystemprocs 库对应的status 的值为0.$isql –Usa –P1>update master..sysdatabases2>set status = 0 where name =”sybsystemprocs”3>go1>shutdown with nowait2>go关闭数据库重新启动.5.将中的”allow updates to system”的值改为0.二、如何恢复master数据库ASE can't setup and has no valid dump of master1、编辑RUN_servername在命令行最后加入:-T36072、单用户模式启动ASE$cd install$startserver -f RUN_servername -m3、bcp out系统表$bcp master..sysdevices out /devs -Usa -P -c$bcp master..sysdatabases out /dbs -Usa -P -c$bcp master..sysusages out /usages -Usa -P -c$bcp master..syslogins out /logins -Usa -P -c$bcp master..sysconfigures out /configures -Usa -P -c$bcp master..syscharsets out /charsets -Usa -P -c4、shutdownASE5、创建新master设备$buildmaster -d<path_to_new_master_device> -s<new_master_device_size>(new_master_device_size以2K为单位)6、编辑RUN_servername将指定master设备指定为新创建的master设备,并删除在第1步中增加的参数。
SYBASE 数据库常见问题总结SYBASE 数据库常见问题总结 ..................................................................... 错误!未定义书签。
1. SYSLOGS日志满了进不了系统,如何清除日志启动系统 .................... 错误!未定义书签。
2. 数据库日志损坏时重建日志启动数据库的解决办法.............................. 错误!未定义书签。
3. 数据库处于可疑状态的解决方法.............................................................. 错误!未定义书签。
4.Sybase系统崩溃了,没有备份,但设备文件还存在,如何恢复数据库?错误!未定义书签。
5.不小心直接删除了日志的设备文件,如何恢复数据库?..................... 错误!未定义书签。
6.sa密码忘记了导致isql -Usa -P******进不去怎么办?......................... 错误!未定义书签。
7.关于sybase的配置-(数据库慢的请留意) ........................................ 错误!未定义书签。
8.设备路径更改的方法................................................................................. 错误!未定义书签。
9.dump文件load后数据库访问不了解决办法........................................ 错误!未定义书签。
10.sybase数据库备份方案........................................................................... 错误!未定义书签。
Powerbuilder中出现Specified database is invalid (指定的数据库无效)问题解决方案Powerbuilder中出现Specified database is invalid (指定的数据库无效)的问题:
这个原因是由于你建立的数据源类型不正确,建议你通过以下步骤建立的数据源再试试链接是否可以。
参考步骤如下:
1.首先要确定你的数据源是什么类型的。
如我要建立的是Adaptive Server Anywhere 9.0。
2.单击Powerbuilder中的“Database”->“ODB ODBC”->“Utilities”->“ODBC Administrator”打开odbc数据源管理器,选中”用户DSN“在其中点击”添加“选项。
3.在弹出的”创建新数据源“弹出窗体中,正确的选择所需添加的数据源驱动程序。
按照例子,这里选择”Adaptive Server Anywhere 9.0“,单击完成。
4.通过如下图示步骤完成数据源的建立。
并调试会提示:Connect successful。
5.建立好数据后,建立数据源描述文件就可以链接到ASA数据源。
如上图,已经连接好数据库。
1常见问题1.1 初级篇1.1.1在SQL Server中表大小是否有限制?在系统11之前的SQL Server各版中,每张表只能有65535个分配页面。
现在,SQL Server 11就没有这种情况,只有表所在数据库大小的限制,而数据库大小只受硬盘资源的限制。
实际上,表大小几乎没有限制。
1.1.2一旦客户突然退出或系统重启,SQL Server如何回滚事务?当客户端退出注册或者突然死机,SQL Server应回滚客户端送来的,但未提交的事务。
对于Unix和VMS客户端,其操作系统会通知SQL Server它的连接已丢失,SQL Server然后回退未提交的数据库事务。
而对于PC客户端,如果TCP IP Keepalive 被设置成允许状态,它定期地检查网络端口是否存活,一旦网络连接断开,SQL Server就被通知到,它便回退未提交事务。
但是,如果Keepalive被关闭,SQL Server将等待客户端的联络。
服务器线索便无期限地处于发送或者接收睡眠状态。
那么,未提交事务直到下次重新启动服务器时,才能被回退。
1.1.3为什么有时候数据库事务日志满了,使用Dump transaction withno-log 仍不能截断日志?有两种情况,可能出现这个问题。
一是应用系统给SQL Server发送了一个用户自定义事务,一直未提交,这个最早活跃事务阻碍系统截断日志。
二是客户端向SQL Server发送了一个修改数量大的事务,清日志时,该事务还正在执行之中,此事务所涉及的日志只能等到事务结束后,才能被截掉。
对于第一种情况,只要督促用户退出应用或者提交事务,系统管理员便可清掉日志。
因为给SQL Server发送Dump transaction with no-log或者with truncate-only,它截掉事务日志的非活跃部分。
所谓非活跃部分是指服务器检查点之间的所有已提交或回退的事务。
而从最早的未提交的事务到最近的日志记录之间的事务日志记录被称为活跃的。
PowerBI中的数据故障排除和优化数据在企业运营中起着至关重要的作用,帮助决策者进行准确的判断和迅速的反应。
然而,在数据处理过程中,可能会遇到各种故障和性能问题,妨碍数据的准确性和及时性。
本文将介绍PowerBI中的数据故障排除和优化方法,以提高数据处理和分析的效率。
一、故障排除1. 数据连接问题在使用PowerBI时,可能会遇到数据连接失败的问题。
这可能是因为数据源发生了变化或者连接配置错误。
解决这个问题的方法是首先检查数据源是否可用,并确保连接配置正确。
如果数据源的URL或者凭据发生了变化,需要及时更新。
2. 数据导入错误在数据导入过程中,可能会出现数据导入错误的情况。
这可能是因为数据源的格式不正确或者数据本身存在问题。
解决这个问题的方法是检查数据源的格式是否符合要求,以及数据是否包含无效值或缺失值。
可以使用Power Query等工具进行数据清洗和转换,以确保数据的准确性。
3. 数据模型问题数据模型是PowerBI中的核心组成部分,负责处理和展示数据。
在数据模型中,可能会遇到关联错误、冗余数据或者性能问题。
解决这个问题的方法是检查数据模型的关联是否正确,是否存在冗余的字段或者表格。
可以使用Power Pivot等工具进行模型的优化和重构,以提高查询和计算的性能。
二、性能优化1. 数据加载优化数据加载是PowerBI中一个耗时的过程,影响了数据的实时性和用户的体验。
为了优化数据加载性能,可以采取以下方法:- 缩小数据范围:只加载需要的数据,避免加载不必要的数据。
- 数据压缩:使用压缩算法减小数据文件的大小,加快数据加载速度。
- 使用缓存:缓存已经加载过的数据,减少后续加载的时间。
2. 数据查询优化在使用PowerBI进行数据分析时,查询的性能对用户体验至关重要。
为了优化数据查询性能,可以采取以下方法:- 创建索引:对常用的查询字段创建索引,加快查询速度。
- 避免全表扫描:根据查询的需求,使用过滤条件减小查询范围,避免全表扫描。
POWERBUILDER 86个问题回答集合FAQ1.如何在PB5中自动生成行号自动生成行号的方法很多,你可以看看PB的例子就知道了。
目前我用的方法是,先用SQL语句统计表中最大的行号,把结果保存到一个变量中去,然后再对此变量进行加1不就可以了吗?但这种做法只是从最大的行号开始产生行号,产生最小的行号也是类似的。
2.delelte数据窗口中若干行,然后update,出现: “rows changed between retrieve andupdate No changes made to database... Delete from table where ...." 请问为什么?试试更改数据窗口的Update Properties中的'Where Clause for Update/Delete'中的选项。
3.如何能够作到在打印一个DataWindows后不自动换页,而继续打印下一个DataWindows?在PrintPage事件中返回04.在table中改了一个字段的类型,回来一看,相应的datawindow字段在运行时再也无法输入东西了,为什么?datawindow具有自己的SQL语法,该语法和数据库后台中的变化不能时时响应,因此,当后台的数据库发生修改后,应该手工修改datawindow中的列定义,如:将变化的列删除,再次添加就可以了。
5.没安装watercom C++,连用模板生成的PBL都不能正确编成EXE运行,生成的EXE在windows95 中远行时报程序启动错误,怎么办?不用安装Watcom C++,编译器内置于pb6文件中,估计你和我以前的错误一样,在win98中编译后在win95中运行报启动错,解决方法:1.在本站点下载pb6.5 patch,它可使你的pb6升级到pb6.5,可解决win98下很多问题.2.在win95下编译.原因是PB在执行时找不到运行库必须将\powersoft\shared加入路径或将它的内容拷入运行目录6.安装好nt40中文版及sybase system 11.0.1无任何错误提示,启动SSM时给提示,这与NT有关吗?如何解决?first:you must restart your systemsecond:perhaps you need running SQLEDIT.7.缩小含较少数据的Sybase数据库的规模,如2G的数据库,其中含200M的数据,如何将其转换为500M左右的数据库?高级方法:不用BCP,使用修改系统表SYSUSAGES的方法。
日常工作中使用PowerBuilder和sybase遇到的问题
(例子中的数据库名称为yanglao)
1.在PowerBuilder使用数据管道
在sybase中进行数据导入导出时,使用数据管道是最方便的一种方法,但也有缺点,数据量过大时,执行效率慢,甚至有时一张表需要几十个小时。
如果Database Devices创建的不合理,数据库文件和日志文件不够大,在使用数据管道时,在途会停止操作。
如果出现这种情况,先查看一下数据库的log space,如下图:
看一下Free(MB)是否有剩余,如果用完需要清楚日志。
在SQL Advantage中执行下面语句:dump transaction yanglao with no_log
附数据管道的报错信息(百度中可搜索)
Start()函数返回一个integer值时数据管道的运行是否成功,返回值的意义为:
1 函数执行成功
-1 打不开数据管道
-2 列数太多
-3 要创建的表已经存在
-4 要增加数据的表不存在
-5 未建立与数据库的连接
-6 参数错误
-7 列不匹配
-8 访问源数据库的sql语句致命错误
-9 访问目标数据库的sql语句致命错误
-10 已经达到指定的最大错误数
-12 不正确的表达法
-13 需要关键字、但未指定关键字
-15 数据管道已经在运行
-16 源数据库出错
-17 目标数据库出错
-18 目标数据库处于只读状态,不能写入数据
2.小写字符替换成大写字符
update table1 set sfz=str_replace(sfz,'x','X')
str_replace(string要被替换的字符串, string用于替换的字符串,string替换成的字符串) 3.在sybase(版本sybase12.5)中创建database device后,找不到设备
业务情形:创建database后,重新启动数据库系统,在database device管理中找不到该设备。
原因:创建的设备超过2G
解决方法:将超过2G的设备进行分解,例如:需要建10G的设备的,可以建5个2G的设备
4.先打开workspace,再连接数据库报错:
提示信息为:
DBMS SYC Adaptive Server Enterprise is not supported in your current installation
解决方法:
百度了许多中方法,都没有解决。
自己给powerbuilder打上补丁,问题解决
5.关于sybase的客户端字符属性的问题
字符集的安装
设置默认字符
sp_configure 'default character set id',171
具体步骤:
✧(这里SYBASE的安装路径为c:\sybase) c:\>cd \sybase\charsets\cp936
✧c:\sybase\charsets\cp936> charset -U用户名(默认sa) -P密码-S数据库服务器名称
binary.srt cp936 更改默认字符集为cp936(在SQL环境中).
✧执行select name,id from syscharsets(会列出字符集对应的id号)
✧找到name为cp936对应的id(假设为171)
✧执行sp_configure "default character set id",171 6. 重启server两次(注:第一次启动后,
server会自动宕掉,需要第二次重启后才能使用)
6.备份还原sybase数据库
备份数据库:dump database yanglao to 'd:\yanglao.dat'
还原数据库:load database yanglao from 'd:\yanglao.dat'
必须要执行:online database yanglao
7.生成powerbuilder应用环境(pbpack90.exe)
怎样找到PB打包所需要的dll和pbd文件?
需要用一个工具:pbpack
我使用的是.9.0版本.pbpack90.exe
位于PB的安装路径下.点PB的图标.右键,属性.查找目标,向上.找到shared下的powerbuilder路径.
D:\Program Files\Sybase\Shared\PowerBuilder
可以看到pbpack90.exe文件.
双击打开.
界面显示出
点击create ,选择路径.就可以生成一个msi包.
双击msi包,运行.将包安装到指定路径下,你就可以看到需要的dll了
附Sybase报错信息(百度中可搜索)
1. (这里SYBASE的安装路径为c:\sybase) c:\>cd \sybase\charsets\cp936
2. c:\sybase\charsets\cp936> charset -U用户名(默认sa) -P密码-S数据库服务器名称binary.srt cp936 更改默认字符集为cp936(在SQL环境中).
3. 执行select name,id from syscharsets(会列出字符集对应的id号)
4. 找到name为cp936对应的id(假设为171)
5. 执行sp_configure "default character set id",171
6. 重启server两次(注:第一次启动后,server会自动宕掉,需要第二次重启后才能使用)。