第一篇:SQL2000和SQL2005同时安装问题
1,因为SQL2000安装过程中无法修改实例名称,故安装过程中必须先安装SQL2000,然后在安装SQL2005.安装SQL2005时必须修改SQL实例名称,否则将和SQL2000的实例名称冲突.2,安装完SQL2005后,开始准备用SQL2000客户端工具连接SQL2005,结果报告不能用SQL2000客户端工具连接, 只能用SQL2005客户端工具连接,后证明SQL2005客户端工具可以同时连接SQL2000和SQL2005.3,服务器上安装完成后,准备用远程连接SQL服务器试试,结果始终连接不上SQL2005,只能连接上SQL2000.原来SQL2000服务器用的端口始终是1433端口,而SQL2005使用的是动态端口.那如果用程序连接SQL20005服务器的时候, 程序如何知道SQL2005服务器用的是什么端口呢?原来SQL2005提供了一个SQL BROWER服务,开启这个服务后, 就可以通过查询SQL BROWER服务 就可以知道SQL2005现在正在使用哪个端口.因为项目需要,需要把这个SQL2005的动态端口改成静态的,修改过程如下:
运行SQL配置管理程序,找到SQL的实例名称下面的协议,双击右边的TCP/IP协议, 在第二选项卡中IPALL里面输入SQL运行的端口就可以了(注意不能同时填写动态端口和静态端口,否则SQL下次将无法启动), 修改完成后重新启动SQL服务即可生效.4,修改端口后在连接发现仍然不能连接,原来还需要开启SQL2005的远程登陆服务.在Microsoft SQL Server 2005中默认的是不允许远程登录的,会出现【provider: SQL 网络接口, error: 26-定位指定的服务器/实例时出错】的错误,下面的方法可以打开:
配置工具->sql server外围应用配置器->服务和连接的外围应用配置器->打开MSSQLSERVER节点下的Database Engine 节点, 先择“远程连接”,接下建议选择“同时使用TCP/IP和named pipes”,确定后,重启数据库服务就可以。
5,远程登陆服务和端口都修改之后连接应该没有问题了吧,结果远程连接SQL2000的时候发现没有问题, 但是连接SQL20005依然不行,在SQL2005的客户端连接工具里面需要输入你要连接的SQL服务, SQL2000的直接输入服务器的IP地址即可,那如何输入才能让客户端工具连接到SQL2005的服务呢? 既然SQL2005修改了端口,那按照常规的录入格式应该是输入:IP地址+冒号+端口号应该就可以了.结果试了一下发现依然不行.后又修改了客户端的连接的默认端口,结果仍然不行.没办法了只有到网上GOOGLE了一翻,结果终于在一篇英文文章中找到了连接的方法,原来按照常规的格式录入是错误的,需要改成:IP地址+逗号+端口号才行
第二篇:SQL Server 安装过程中的 COM+ 检查失败问题
SQL Server 安装过程中的 COM+ 检查失败问题
按照下列过程重新安装 COM+。
安装组件服务管理单元
在 Windows 桌面上,单击“开始”,然后单击“运行”。
在“打开”框中,键入 MMC,然后单击“确定”。
在“控制台”窗口中,单击菜单栏上的“文件”,然后单击“添加/删除管理单元”。在“添加/删除管理单元”窗口,单击“添加”。
在“添加独立管理单元”窗口,从管理单元列表中选择“组件服务”,然后单击“添加”。
单击“关闭”以关闭“添加独立管理单元”窗口,然后单击“确定”以关闭“添加/删除管理单元”窗口。
在“控制台根节点组件服务”窗口,展开“组件服务”树。这就是当 COM+ 出现问题时,错误消息可能发生的地方。
再次运行 SQL Server 2005 安装程序。如果收到错误消息,请重新安装 COM+。重新安装 COM+
从控制面板的“添加或删除程序”中,单击“添加/删除 Windows 组件”。
在“Windows 组件向导”中,不对选择做任何更改,单击“下一步”。
一直单击以完成向导,然后再次运行 SQL Server 2005 安装程序。
定位到以下注册表项:
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionPerflib] “Last Counter”=dword:00000ed4(5276)
“LastHelp”=dword:00000ed5(5277)
上一步的“Last Counter”值(5276)必须与以下注册表项中“Perflib 09”的“Counter”项的最大值匹配,并且上一步的“Last Help”值(5277)必须与以下注册表项中“Perflib 09”的“Help”项的最大值匹配。
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionPerflib 09]注意 009 是英文中的一个示例。“Last Counter”和“Last Help”值是由 Windows 动态分配的;这两个值会因计算机的不同而不同。
如有必要,可修改“Perflib”项中的“Last Counter”和“Last Help”值的值:在右侧窗格中,右键单击“Last Counter”或“Last Help”,单击“修改”,再单击“Base = “Decimal””,在“值数据”中设置值,再单击“确定”。如有必要,对另一个项重复以上过程,然后关闭注册表编辑器。
再次运行 SQL Server 安装程序。
第三篇:TD8.0 和 SQL Server 2000 问题解决方案整理2012-05-31
1:安装完td后,无法下载插件,提示:cannot register activex server
原因:安装td时没有关闭杀毒软件的实时监控,当提示修改注册表时选择了拒绝修改。
方法:删除TD2000_80和TDAPICLient,这个两个文件夹的路径一般在C:Program
FilesCommon FilesMercury Interactive这个目录下,然后去add-in下载客户端,问题应该能解决了。
2:TD登陆时候出现Permission denied:...错误的解决办法
原因:权限问题
方法:1.先进入到TD_Dir中
2.比如我的是C:TD_Dir(域)(出现问题的项目)Settings
3.里面一般会有三个文件 :Common,Private,_dummy
4.右击Private文件夹属性-安全,将组和用户的权限选择完全控制(Private文件
是写入登录用户的文件)也许是因为这个,所以TD_dir目录需要开共享(并且
设置可写权限,当时我取消了TD_dir的共享,登录出错,后来恢复共享也不行,最后放宽权限才行)
3:出现Following client components were not downloaded successfully
原因:客户端组件下载不成功 方法:删除C:Program FilesCommon FilesMercury InteractiveTD2000_80子目录下的文
件,然后重新操作。
4:无法成功创建DB SERVER,ping的时候出现
[DBNETLIB][ConnectionOpen(Connect()).]sql server does not exist or access denied.|未指定的错误
原因:未知
方法: A:清除安装时默认的DB SERVER:TDSQLSERVER,再重新创建一个本机的SQL服务器名。(默认安装的TDSQLSERVE并没有在SQL里创建。)
B:既然TDSQLSERVE在SQL里没有创建,就要手动在本地创建,步骤如下:
1.开始->程序->“SQL的客户端网络实用工具”—>“别名”—>添加,打开“添加网络库配置”,将服务器别名设为TDSQLSERVER,网络库选为TCP/IP,确定。
2.返回http://r07/TDBIN/SiteAdmin.htm的DB SERVER页面,再次对
TDSQLSERVER进行ping操作,失败!修TD的DB SERVER的string
3.在Default Connection String栏是否按照下面的规则拼写的 Provider=SQLOLEDB.1;DataSource=(local);UserID=%DB_USER%;Password=%PASSWORD%;InitialCatalog=%DB_NAME%这才是正确的写法。把Data Source=%DB_SERVER%改为Data Source=(local)有括号,再ping,这次提示The connection issuccessful!
5:connot connect to the database....问题
原因:解决方法中的都有可能
方法:
1、确定你的SQL Server开启远程服务(有时新装的SQL Server,默认是未开启
远程的)
2、确定服务里server和workstation为启动状态
3、看能否ping通,如果ping不同,可以参看上面的Q4。
6:
第四篇:安装存在问题
一、集团2014年检查通报摘录
安装公司人才培养存在问题:
1)公司从14年起取消助理、以工代干岗位,但在安装项目管理人员考勤榜仍然体现,并经过核实,记载人员尚未纳入职工人才库。根据产业集团职工培养要求,未纳入职工人才库意味着该类人员不符合培养要求,项目部不予使用。但项目部仍在使用且不申报入库往管理人员方向培养发展。要求安装公司对该类人员进行全面梳理,有培养潜力人员一周内报安装子公司审核,并提交产业集团人力中心入库审批。
2)安装大学生培养重视度不够,经调研安装公司目前大学生师傅安排与实际明显不符,有的师傅已离职,有的师傅已调离导致大学生实际无师傅指导。请安装公司对目前13届大学生进行导师重新安排,并做到过程跟踪,关注大学生成长与发展。
报价资料技术参数、质量约定不明确;如安装中海城A地块项目采购消防箱,对箱内配件自救卷盘、消火栓等技术标准未有明确注明。价格执行期时间偏长,价格调整后仍未及时补做报价会签,安装采购的通丝等均已过很价格执行期,起不到价格把控作用。会签数量和实际采购量差距很大;如安装采购的胶垫片(采购金额超1500元,无会签)、油纸绳等;类似情况土建也有,亟待采购条线在今后的工作中注意纠正。
检查发现无论是土建还是安装均有部分材料价格偏高,安装各项目采购的螺丝(7.8元/kg)、法兰(9.3元/kg-9.5元/kg)、焊接弯头(最高达13.3元/kg)、8mm通丝(1.5元/米)、pvc胶水等价格也有偏高,另外竹园项目采购的兴华牌铸铁管及管件价格偏高(管子价格6500元/吨,管件价格均超10000元/吨-56000元/吨)等,上述材料价格需采购经办人重新对市场询价调研并于5月25日前调整合理价格后重新办理入库。
合同问题:西安分公司土建安装均存在采购金额超10万元,但未进行招标签订合同的情况,如土建上林景苑项目采购的电箱(供应商为荣泰机电)及安装中海城A地块项目采购的威斯特牌消防箱(1800*700*180)等,上述情况严重违反公司采购制度,现责令相关经办人近快完成合同评审,并与本月底之前完成合同补签手续。
对于采购条线存在的上述问题,是由于西安分公司采购条线相关人员平时缺少对市场的调研,缺乏对市场价格变化的敏感性,采购负责人对采购员缺少辅导培训及督促,对于采购制度的不认真执行所造成;因此希望西安分公司采购条线所有人员今后需加强对采购制度认真学习,加强市场调研,相关负责人加强培训辅导及监督力度,以做好下阶段的采购工作。
5、安装和黄项目管道、通风排考勤记录到5月10号11-12号无记载。
二、西安移动办公大检查报告内摘录的
项目部缺少外包材料对账签字手续,如和黄九号地块项目。
龙湖紫都城项目,万科3号楼地块,安装竹园阳光景苑项目等,月底盘点流于形式,分公司未能对各项目库存材料进行抽盘复核,导致帐物不符现象较多。部分项目部开具出库单缺少批准人签字,材料领用把关不严,如上林景苑二期项目,和黄九号地块项目等,安装龙湖紫都城材料出库单主材未注明使用部位.安装西安分公司作风整顿从检查的资料上看,上林景苑项目4月5号份的作 风整顿,是在下午15:00至18:00,学习,违反公司“作风整顿不得占用工作时间”的规定;华润二十四城项目4月8号组织了作风整顿,但照片是4月1号的,弄虚作假。安装:
1)安装上林景苑4-5月进场的KBG管,规格32,采购单价每米5.2元,经称重核7500-8100元/吨,价格偏高。
2)高新区9号地块5月进场的PAP板,数量270平方,采购金额1900元无确认手续。3)安装竹园项目3月1日进场的铸铁管,规格分别为DN200*3m、DN150*3m、DN100*3m单价分别为118元,75元,50元/每米,过磅核6500元每吨,市场价不足6000元每吨,要求物资部重新调整价格。
4)4月1日进场规格50cm宽薄膜,单价每公斤29元,同期6日采购价为每公斤26元,要求物资部重新进行调整,追回差价。
5)中海城A地块4月19日进场喷淋头“吉龙品牌”数量1850只、单价每只5元,经检查为冒牌产品,要求物资部按70%办理入库手续,追回相应差价。
6)中海城A地块4月19日进场的铁开关盒,规格86*50,数量300只,单价每只1.3元,经称重核每公斤11.4元,龙湖紫都城铁壳开关盒,规格86*80数量1200只,单价1.5-1.65元/只之间,称重每只0.15公斤,核10.6元/公斤,同期其他区域采购价每公斤8元左右,需重新进行调价。
7)中海城A地块5月12日进场的喷塑桥架,规格200*100,合同约定壁厚不低于1.2mm,进场数量1080米,经检查发现壁厚在1.04-1.08mm之间,要求物资部作退场处理或降低等级办理入库。
8)龙湖紫都城3月5日进场的柔性防水套管,规格100、200,单价分别为210元、480元,经过磅核12.5公斤/只与15.3公斤/只,价格偏高,要求重新调整。
9)中海城A地块进场的消防箱、消火栓金额已达17多万,未采取招标或订立合同的方式进行采购,而改采用会签的方式,办理入库手续,要求物资部重新办理相关合同签订手续。
1)总公司要求所有进场车辆材料必须过磅拍照上传,但部分项目部没有按照公司制度执行,如华润二十四城二期项目进场钢筋,安装中海A地块项目进场PVC穿线管,PVC排水管等都无照片平台上传审核,分公司对项目进场材料把关不严移动办公检查流于形式。
2)华润二十四城4月7日进场的空压机软管,入库填写18米/卷,实际抽检为16.5米。进场的地材如黄砂未认真进行丈量,均按过磅重量来测算数量办理入库。进场的六角梅花垫、玻璃胶等均未认真填写规格型号。二是万科城3.1标段,进场的铝合金斜P尺,入库填写0.6mm厚,实际厚为0.3mm-0.4mm。三是和黄九号地进场的油漆入库单未填品牌等。
3)部分项目缺少超额限额领料盈亏分析,今检查竹园阳光景苑项目,安装华润二十四城二期项目5月份限额领料单缺少预算员,项目经理审核签字手续,上林景苑二期项目有部分材料如套筒,铁钉等超额现象,龙湖紫都城项目套筒,铁丝,电焊条等有超额现象,安装上林景苑二期项目有主材材料PVC穿线管32限额超额没有编制现象及JDG管,开关盒等有超额现象,安装华润二十四城项目PVC管,PVC线盒等也有超额,安装万科时代3号楼商业地块项目钢塑冷水管规格65有超额现象,分公司对项目部限额领料检查不重视,没有做到盈亏原因分 析,分公司缺少对项目检查没有起到监督把控作用。
4)项目部开具材料出库单缺少批准人签字手续,如上林景苑二期项目,和黄九号地块项目,安装竹园阳光景苑项目及安装安装万科时代3.1标段项目开具出库单主材无使用部位且使用部位不明确,安装华润二十四城二期项目今检查发现5月1号至5月11号之间一张开具材料出库单没有。
5)部分项目部现场材料浪费较多及堆放混乱,成本管理意识欠缺,如上林景苑二期项目,龙湖紫都城项目现场混凝土、安全网,山型卡、穿墙螺杆等,安装竹园阳光景苑项目铸铁配件等在现场随处可见,项目部对现场材料管理管控意识不强。6)龙湖紫都城项目部仓库管理材料堆放混乱,项目部月底材料盘点流于形式,月底盘点表缺少预算员,监证人,项目经理签字手续,如华润二十四城二期项目,万科3号楼地块项目,安装竹园阳光景苑项目,安装万科时代3号商业地块项目,今抽上林景苑二期项目,和黄九号地块项目,万科时代3号楼地块项目,安装上林景苑二期项目,安装竹园阳光景苑项目,安装中海A地块项目等都有帐卡物不相符现象,项目部盘点不认真流于形式,分公司未能对各项目库存材料进行抽盘复核移动办公没有起到把控监督作用.7)分公司及项目部对月底以旧换新统计表签字不重视把关不严,月底以旧换新统计表签字流于形式,分公司未能抽查复核,盲目签字现象突出,导致材料易耗品回收偏低或者部分材料易耗品无回收,如万科时代城3.1标段项目,中海城A地块项目,安装华润二十四城二期项目等。
8)项目部缺少外包队领用材料对账签字手续,如和黄九号地块项目5家外包队3,4月份至今无对账确认手续,项目部对仓库材料管理存在严重失控,项目部需抓紧落实外包队领用材料对账签字手续。
9)项目部缺少甲供材对账签字手续,如安装万科时代3.1标段3月份进场PVC接线盒,4月份进场电缆等,安装中海A地块3,4月份进场PVC穿线管,排水管,电线电缆等至今无对账确认手续,项目部需抓紧落实甲供材对账签字手续。
10)部分项目部仓库对于材料票据入录系统严重滞后,如万科时代城3.1标段项目,和黄九号地块项目,龙湖紫都城项目,项目部有部分材料无计划采购,如和黄九号地块项目采购挤塑板,焊接法兰盘等,部分有超计划采购,如和黄九号地块项目采购五夹板计划数量300张,实际进场办理入库420张,分公司听之任之,麻木不仁,严重违反材料采购管理制度。
11)项目部部分材料封样不全且封样单填写不完整,如华润二十四城二期项目,龙湖紫都城项目,安装龙湖紫都城项目,安装万科时代3.1标段项目等,各个项目普遍存在,分公司需加强对材料封样且封样单必须盖章及填写完整,材料会计要起到检查监督作用。、安装西安分公司:
(一)主要责任状指标完成情况
1、产值情况:截止4月底,产值累计完成1771.25万元,占责任状指标11000万元的16.1%。
2、利润情况:截止4月底,利润累计完成179.11万元,占责任状指标1275万元的14.05%。
(二)上轮检查闭环情况
上轮移动办公检查组针对安装西安公司共提出问题64项,经检查已落实51项,闭环率79.6%。部分未能整改闭环的主要原因是:一是项目部管理层对督查中心提出的问题整改不够重视,自身要求不高;二是工作主动性、积极性不高,过程管控纠偏意识不强。三是分公司闭环复核不认真,缺少问责力度。
未闭环的主要问题有:
1、上林景苑项目一是平台多根排列的线管仍然长短不一,歪斜、固定不牢;二是对分包队伍缺少过程控制,项目仍无单独的检查整改资料;三是前期策划的各类方案和措施仍然没有编制报批。
2、华润二十四城项目一是线管预埋出地面过长,固定不牢、歪斜,影响二次配管;二是隐蔽工程资料仍然没有与主体施工同步。
3、和记黄埔项目一是地面预留的线管多处被折断,没有保护措施;二是弱电箱仍然没有进场直埋;
4、竹园阳光项目一是电井内明敷接地扁铁仍然不垂直,扭曲;二是排水立管设置的套管仍然脱落,固定不牢;三是箱内预留线仍然超长,浪费材料。
5、中海城A地块地面给水PP-R支管、采暖管安装没有编制方案报批。
6、大部分项目对管道套管和预留洞没有进行过程控制,技术复核和平面简图不对应,仍然存在应付检查,如华润二十四城、和记黄埔、龙湖紫都城等项目。
安装公司奖励和处罚:
1、安装西安分公司各项目对上轮检查问题有14条未得到整改,其中上林景苑项目有3条未整改,华润二十四城项目有3条未整改,和记黄埔项目有2条未整改,万科3.1标段项目有1条未整改,竹园阳光项目有2条未整改,龙湖紫都城项目有1条未整改,中海城A地块项目有1条未整改。根据中南集团责任追究实施细则3-57之规定,罚上林景苑项目600元、华润二十四城项目600元、和记黄埔项目400元、万科3.1标段项目200元、竹园阳光项目400元、龙湖紫都城项目200元、中海城A地块项目200元。上述闭环工作不到位,分公司、总公司有检查监督责任,上述处罚分公司、总公司各承担50%。
2、西安区域各项目对关键性工序,如管道预留洞和外墙套管标高缺少相关技术复核资料,未按三检制规定实施,分公司缺少检查、督促问责力度,根据中南集团责任追究实施细则:技术/质量条线3-12之规定,罚分公司500元,扣1分。
3、和记黄埔项目对放线、定位不认真,缺少技术复核,导致插座管线节点预留偏位,造成二次配管重新剔凿,属项目不作为,根据中南集团责任追究实施细则:技术/质量条线3-11之规定,罚项目300元,扣1分。
4、和记黄埔地下室消防、喷淋管道安装施工方案未经审批,技术未交底就擅自进行施工;万科3#地块地面给水管没有方案;中海城A地块技术交底内容网上下载,不能指导生产;根据中南集团责任追究实施细则:技术/质量条线3-10之规定,罚项目各300元,扣1分。分公司充耳不闻,检查不力,罚分公司300元,扣1分。
5、分包队伍陕西宏泰建筑安装工程有限公司在和记黄埔1-3#楼和华润二十四城15#、18#楼施工中线管疏通严重滞后,与土建结构清理落差很大,不符公司相关制度要求,特别是预埋的线管质量问题多次提出整改不力。根据《建设2014年检查制度0220版表8》施工过程控制管理准则罚该分包1500元。
6、实测实量情况结果如下:上林景苑项目预埋阶段,经实测线盒埋设标高90点,合格78点,综合得分86.7分;华润二十四城项目预埋阶段,经实测线盒埋设标高60点,合格56点,综合得分93.3分;和记黄埔项目预埋阶段,经 实测线盒埋设标高104点,合格89点,综合得分84.5分;万科3#地块项目安装阶段,经实测二次线管埋设标高、排水立管安装垂直度120点,合格112点,综合得分93.3分;竹园阳光项目预埋、安装阶段,经实测管道立管和桥架安装垂直度112点,合格93点,综合得分82.9分;万科3.1标段项目安装阶段,经实测线盒埋设标高、排水立管垂直度123点,合格111点,综合得分90.5分。根据2014年《中南集团督查中心实测实量管理办法》奖华润二十四城和万科3#地块项目各1200元、万科3.1标段200元;罚和记黄埔项目100元和竹园阳光项目400元。
7、安装西安分公司工艺工法推广率总得分为76.5分,根据《2014版中南集团工艺工法管理办法》之规定罚分公司1500元。
3、职工宿舍脏乱差现象突出,处罚安装和记黄浦项目200元,扣1分。
第五篇:JSP连接SQL SERVER问题总结
首先是SQL 2000数据库的安装问题,在此我主要讲些关于SQL 2000的版本与操作系统的兼容性问题:SQL 2000总共有7个不同版本,适应不同等级用户的需求。
我试了一下,在XP系统下只有“个人开发版”能正常安装而不出现错误,所以大家在安装时要注意,具体安装时的配置参照相关说明就可以了。
下面说明如何连接到SQL 2000数据库,首先当然是要下载JDBC驱动程序,最好去微软官方网站下载,然后将下载到的三个JAR包放入你的WEB应用的WEB-INF/lib/下。接下来编写程序进行测试:
/*********************************************** /* /*DBTest.java /* /******************************************* */
import java.sql.*;
public class DBTest {
Connection con;
Statement sta;
ResultSet rs;
String driver;
String url;
String user;
String pwd;
public DBTest()
{
driver = “com.microsoft.jdbc.sqlserver.SQLServerDriver”;;
url
= “jdbc:microsoft:sqlserver:
//localhost:1433;DatabaseName =test”;
//test为数据库名
user
= “sa”;
pwd
= “sa”;
//请更改为你相应的用户和密码
init();
}
public void init()
{
try{
Class.forName(driver);
System.out.println(“driver is ok”);
con = DriverManager.getConnection(url,user,pwd);
System.out.println(“conection is ok”);
sta = con.createStatement();
rs = sta.executeQuery
(“select * from room”);
while(rs.next())
System.out.println
(rs.getInt(“roomNum”));
}catch(Exception e)
{
e.printStackTrace();
}
}
public static void main(String args[])
//自己替换[]
{
new DBTest();
} }
按道理讲,上边这段代码应该没错,可首先我们来看一下,如果sqlser服务器没有升级到sp3(在使用jdbc时,如果系统是xp或者2003务必要把sqlserver 升级到sp3,往上到处都有下的),我们看看运行结果:
driver is ok java.sql.SQLException: [Microsoft] [SQLServer 2000 Driver for JDBC] Error establis hing socket.at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSConnection.
at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Sou rce)
at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown S ource)
at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)
at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(DriverManager.java:523)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at DbTest.init(DbTest.java:32)
at DbTest.
at DbTest.main(DbTest.java:46)Press any key to continue...出现上边错误的主要原因是默认的数据库服务器端口 1433没有打开,无法直接连接。如果升级到sp3则这个问题可以结决,我们再来看看升级之后,程序运行的结果:
driver is ok conection is ok java.sql.SQLException:
[Microsoft][SQLServer 2000 Driver for JDBC] [SQLServer]对
象名 ’room’ 无效。
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processErrorToken(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReplyToken(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSExecuteRequest.processReplyToken(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown Sour ce)
at com.microsoft.jdbc.sqlserver.SQLServerImplStatement.getNextResultType(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.commonTransitionToState
(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.postImplExecu te(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.commonExecute(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.executeQueryInternal
(Unknown So urce)
at com.microsoft.jdbc.base.BaseStatement.executeQuery(Unknown Source)
at DbTest.init(DbTest.java:35)
at DbTest.
at DbTest.main(DbTest.java:46)Press any key to continue...在这儿,用户已经登陆上去,但是却不能访问里边的数据表,出现这个问题的原因在于sa用户为系统用户,它虽然能够登陆数据库,但是test数据库里边却没有这个用户的访问权限,所以,我们现在为这个数据库重新建立一个用户share,建立过程如下:
在test数据库中选重用户---〉新建用户--〉名称选择(这一步中有两个关键点:身份验证选sql身份验证,默认数据库选test)-〉建立新教色share,此时更改程序,将用户登陆名和密码修改一下,重新运行程序:
driver is ok conection is ok 1001 1002 1003 1004 1005 1006 Press any key to continue...这次顺利通过测试
其实这些小问题花了我一个晚上才解决,真是浪费时间,所以写下来希望能使遇到类似问题的朋友不要重蹈覆辙,在此提醒大家遇到问题时多上网查查,多在论坛里问问,这样你学到的会更多,更节省时间,更有效率。
总结:Sqlserve 和JDBC 的融合问题,关键涉及到sp3补丁(端口开放)还有用户问题,解决这两个问题之后,剩余的便是Sqlserver 操作问题了,还有一点在远程操作的时候,要把Sqlserver 组设置一下,在安全性里边亦将身份验证更改为Sqlserve 验证即可。
------------------------------------------------windows xp sp2下jsp连接sql server 2000
注意:由于博客的文本编辑带有html代码解释功能,本文中对代码做了一定的改动,把所有的<改成了#,所有的>改成了$,如果需要用代码可以用记事本的“替换”功能替换回来即可。基本信息:windows xp sp2、Tomcat5.0、J2SDK1.5、Sql server 2000开发版
一、安装JDK 这个没有什么好说的,需要注意的是JDK1.5和以前的版本有个不同点,它默认的安装目录在C:Program FilesJava目录下,由于路径名里有空格,所以可能会给以后的命令行执行有一定的影响,并且和以往的习惯也有些不同,所以建议安装到C盘目录下就可以了。我的路径是C:jdk1.5
二、安装Tomcat 一路NEXT下来就可以了,注意有会有一个设置用户名密码的提示。我是安装在C:Tomcat 5.0了。
三、安装SQL Server2000 注意在windos xp下只能装两个版本,一个是开发版,另一个好像是个人版,记不得了。装的时候也基本上是一路NEXT下来,不过有一个地方要选择是采用Windows NT验证方式,一种是采用混合验证模式,为了安全,建议采用后者。并且要给超级管理员sa设上密码。最重要的是,不要忘了给SQL Server 2000打上补丁。由于sql server 2000存在漏洞,我们宿舍楼的局域网就因为中毒机器太多而造成网络拥塞。在windows xp中就把1433端口屏蔽了。要启用这个端口,要安装一个sql server 2000的sp3补丁。
四、设置环境变量
path路径:在系统变量的path前面加上C:Tomcat 5.0bin;C:jdk1.5bin;classpath路径.;C:jdk1.5libdt.jar;C:jdk1.5libtools.jar;C:jdk1.5librt.jar;C:jdk1.5;C:Tomcat 5.0commonlib,其中的.代表当前路径,其它的可以简单的设为C:jdk1.5lib,但是最好还是一个一个列出来。注意这里你如果在连接数据库时用到的是JDBC-ODBC桥接的方式的话,还要把桥接的驱动的路径加在classpath里面。有一个细节,好像在jdk1.5中,这个驱动不在C:jdk1.5lib下,而是在C:jdk1.5jrelib的rt.jar中,可以适当的设置一下或者把这个文件拷贝到classpath能到达的地方。
java_home路径:C:jdk1.5,即是jdk的安装目录。
tomcat_home路径:C:Tomcat 5.0,即是tomcat的安装目录。catalina_home路径:C:Tomcat 5.0 catalina_base路径:C:Tomcat 5.0,这两个环境变量的作用是可以通过命令行方式来启动和关闭tomcat,方法是打开命令行提示窗口,键入startup就可以启动,键入shutdown就可以关闭了。注意不要强行关闭tomcat,因为既然给了一个关闭的方式必然有它的道理,为了安全起见,还是用shutdown来关闭较为合适。当然不设置这两个环境变量也可以,只不要启动时用鼠标来从开始菜单启动。
五、建立数据库表
建立一个数据库testdb,在它里面建立一个表users。里面有两列,name和password,数据类型都取默认的char类型就行了。注意在SQL SERVER中表的名字不能为user。否则会出现错误。
六、配置数据DSN 打开“控制面板->性能与维护->管理工具->数据源”,点击“系统DSN”,点击“添加”,数据驱动选择“SQL SERVER”,点击“完成”,在弹出的对话框的“名称”里填入此DSN的名称,比如test。“描述”可以不填,“服务器”选择本地,即(local)。点击“下一步”,将弹出一个新的对话框。选择“使用sql server验证”,在下方填入用户名和密码。点击“下一步”,在新弹出的对话框的上方,选中“更改默认的数据库为”,在下侧的下拉菜单里选择你要映射的数据库,这里我们选择testdb。点击“下一步”,再点击“完成”。在新的对话框下方有个“测试数据源”的按钮,点击它,如果出现“测试成功”则表示建立DSN成功。点击完成即可。注意以后在程序中访问数据库是根据这里的系统DSN的名称来访问数据库的,而非真实的数据库名,在这里即是通过test而非testdb。
七、写测试网页文件
这里我们写一个简单的功能,有两个页面,第一个页面adduser.htm负责与用户进行交互,它可以让用户输入用户名和密码,并且提交它,但是它自己不处理,而是由第二个页面文件处理。第二个页面为jdbc.jsp,它接受第一个页面传递过来的参数,然后把它插入到users表中,然后把表中所有的用户都检索出来并且显示它。把这两个文件放在一个文件夹jdbc中,在jdbc文件夹中新建一个文件夹,名称为WEB-INF,在它里面建一个web.xml文件,然后把jdbc文件夹放到tomcat的工作目录C:Tomcat 5.0webapps中。web.xml内容
#?xml version=“1.0” encoding=“ISO-8859-1”?$ #!DOCTYPE web-app PUBLIC “-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN” “http://java.sun.com/dtd/web-app_2_3.dtd”$ #web-app$ #display-name$My Web Application#/display-name$ #description$ A application for test.#/description$ #/web-app$ adduser.htm文件内容:
#html$ #head$ #title$Add User#/title$ #/head$ #body$ #form method=“POST” action=“jdbc.jsp”$ #p align=“center”$姓名
#input type=“text” name=“name” size=“20”$#/p$ #p align=“center”$密码
#input type=“password” name=“pwd” size=“20”$#/p$ #p align=“center”$
#input type=“submit” value=“提交” name=“B1”$#/p$ #/form$ #/body$ #/html$
jdbc.jsp文件内容: #html$
#head$#title$Add User to DB#/title$#/head$
#%@page import=“java.sql.*”%$
#%@page import=“com.microsoft.jdbc.sqlserver.SQLServerDriver”%$
#%@page import=“com.microsoft.jdbc.*”%$
#%@page import=“java.util.*”%$ #body$
#pre$ #% //Get parameters from request String name,pwd;int num;name=request.getParameter(“name”);pwd=request.getParameter(“pwd”);//add infomation to DB try{ Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”).newInstance();Connection con=DriverManager.getConnection(“jdbc:odbc:test”,“sa”,“like”);Statement stmt=con.createStatement();stmt.executeUpdate(“insert into users values('”+name+“','”+pwd+“')”);//query DB for display all users ResultSet rs=stmt.executeQuery(“select * from users”);//rs.first();out.println(“All user in DB!”);while(rs.next()){
out.print(“user name: ”);
out.print(rs.getString(“name”)+“
password: ”);
out.println(rs.getString(“password”));} num=stmt.getMaxRows();out.println(num);rs.close();stmt.close();con.close();}catch(Exception ex){
out.println(ex.getMessage());
} %$
#/pre$ #/body$ #/html$
八、测试效果
启动tomcat,启动浏览器,在浏览器的地址栏中键入http://localhost:8080/jdbc/adduser.htm,在出现 的网页中填入用户名密码,点击“提交”,即可跳到jdbc.jsp文件,列出此时数据库中所有的用户。