jbuilder2006连接sqlserver2000的方法

1.其中包括下载JDBC FRO Microsft SQL_Server2000的驱动程序(在微软官方网站下的,是sp3版的,这里就不写具体地址了,网上挺多的,但注意版本,我下的是sp3)。下载后发现是EXE 文件,双击安装。默认安装目录:C:Program FilesMicrosoft SQL Server 2000 Driver for JDBC,其中C:Program FilesMicrosoft SQL Server 2000 Driver for JDBClib目录下的三个扩展名为.jar是我们要的驱动。然后配制环境变量:
在classpath这个环境变量里加入以下语句:
C:Program FilesMicrosoft SQL Server 2000 Driver for JDBClibmsbase.jar;
C:Program FilesMicrosoft SQL Server 2000 Driver for JDBClibmssqlserver.jar;
C:Program FilesMicrosoft SQL Server 2000 Driver for JDBClibmsutil.jar;
  如果你的机子上正确配制了JDK的环境变量就应该有CLASSPATH这个环境变量,若没有就新建一个。
(http://download.microsoft.com/download/4/1/d/41d3e9c0-64d1-451e-947b-7a4cba273b2d/setup.exe)
2.检查1433端口是否打开:NETSTAT(DOS进入C:\WINDOWS\SYSTEM32下) NETSTAT -AN
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establis
hing socket.
 出现上边错误的主要原因是默认的数据库服务器端口 1433没有打开,无法直接连接 。
  这时你在命令提示行中输入命令:netstat –an 来查看有没有tcp:0.0.0.0:1433,如果没有那就肯定是因为数据库服务器端口 1433端口没开。这时你需要下载SQL_Serve20000的sp4补丁,下载安装后会发现,默认C盘下SQL2KSP4中setup.dat安装(******* 很重要******),1433端口已经打开了,再次执行程序,顺利执行完毕。
(http://download.microsoft.com/download/9/b/f/9bff6646-2cdb-4069-ada0-548be9cb9338/SQL2000-KB884525-SP4-x86-CHS.EXE)
3 java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]用户 'xxx' 登录失败。原困是未设置SQL SERVER登录认证模式为混合认证模式,因为SQL SERVER默认安装后认证模式为WINDOWS认证模式,从而导致出错。
解决方法:启动SQLSERVER企业管理器,选择要进行认证模式设置的服务器。右击该服务器,在弹出菜单中选择属性,SQL SERVER将
弹出属性对话框在属性对话框中选择安全性选项,在身份验证处选择“SQL Server和Windows”,然后确定。
4.1、打开Jbuilder,选择Tools-->Configure-->Libraries。
 .2、然后在左边的列表框下选择New,填入:Name:sql,Location:User Home,然后点击Add,
  加入目录C:Program FilesMicrosoft SQL Server 2000 JDBClib,确定 。
  .3、Project-->Prject Properties-->Paths-->Required Libraries-->Add
  加入刚才添加的User Home/sql确定
  .4、Enterprise-->Enterprise Setup-->Database Drivers-->Add,加入User Home/sql,
  添加之后在列表框中显示的是sql.config,确定,重新启动JBuilder
  .5、Tools-->Database
  Pilot-->View-->Options-->Drivers-->Add
  填入
Driver class:com.microsoft.jdbc.sqlserver.SQLServerDriver
Simple URL:microsoft:sqlserver://localhost:1433;DatabaseName=mybase
  确定之后,Tools-->Database Pilot-->New的Driver里选择
com.microsoft.jdbc.sqlserver.SQLServerDriver
  在URL里填入:
microsoft:sqlserver://服务器Ip地址或主机名:1433;DatabaseName=数据库名
  点击确定,双击或点击+号输入sql数据库的用户名和密码,就完成了JB与sql的连接!
5.java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]对象名 ‘xxx' 无效
根本原因:
访问数据库的用户有登录权限,但无操作表的权限
解决办法:
1. 在[企业控制台]窗口–[树]子窗口–[安全性]子树–[登录]项里将你使用的登陆用户的默认数据库设为你所使用的数据库。
2. 在[企业控制台]窗口–[树]子窗口–[安全性]子树–[登录]项里新增一个登录用户(在其中选择SQL Server 身份验证、服务器角色和要访问的数据库),以后便可用些新增用户访问你勾选的数据库了。
大家在用java连接ms sql时可能会这样的问题
原因是sa用户为系统用户,它虽然能够登陆数据库,但是数据库里边的权限都是dbo的,所以,我们现在为这个数据库重新建立一个用户.
当然,这个情况只发生在java里边. .net是不会这样的.
只要新建立一个用户,再在权限那分配权限做好就行了.
参照(作者:佚名 文章来源:onegreen.net )
注:
部分作者在写到用户登录时,"PASSWORD="就行了,本人在“=”后加空格,有错,不能连接。
不能在jbuilder中启动项目,因为jbuilder启动web项目时是不会去读你指定的tomcat中的server.xml的,这样的话数据源就不可用了,如果我们不能在jbuilder中启动项目,我门就不能在调试状态下来运行了,这样对我们来写程序就没有太大意义了(当然我们可以在外面启动tomcat,采用远程调试的方法,这样即可以使用数据源,也可以调试修改程序,但这个有点杀鸡用牛刀的意思,不推荐),实际上jbuilder在启动web项目时它会在工程目录下建立一个tomcat文件架,它会去读conf下的server8080.xml文件(8080为你为tomcat设定的端口),所以我们要想在jbuilder中启动数据源,必须要在该配置文件中加上数据源信息),具体的是将
运行工程,在你的主文件夹下的tomcat\conf有server8080.xml,工程停止会消失,在
server8080.xml中的一条注释删掉,(否则它仍然会是临时文件,会被覆盖的)在<host>结点中加上
<Resource name="jdbc/***" auth="Container"
type="javax.sql.DataSource" password="****"
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
maxIdle="2"
maxWait="5000"
username="sa"
url="jdbc:microsoft:sqlserver://192.168.*.*:1433;DatabaseName=***"
maxActive="4"/>
注意这里<context>结点可用它自身的,不要修改,重启项目,这时你就可以使用数据源了。之所以在jbuilder中启动web项目有点麻烦,是它没有把项目发布到tomcat的webapp下面去,而是把tomcat的一些东西拿过来了(相当于),象eclispe或idea就没有这种问题了。
以上所说的配置数据源是在jbuilder2006 tomcat5.5.9下实验的.参考http://www.blogjava.net/siliconchip/articles/78214.html
javax.naming.NameNotFoundException: Name jdbc is not bound in this Context
[ ctx=new InitialContext();
Context envCtx = (Context) ctx.lookup("java:comp/env");
ds = (DataSource) ctx.lookup("jdbc/数据库名");]
改为:[ds=(DataSource)ctx.lookup("java:comp/env/jdbc/数据库名"]异常消失,不知有何不同?
Context envCtx = (Context) ctx.lookup("java:comp/env");改为
Context envCtx = (Context) envCtx.lookup("java:comp/env");异常消失.

(0)

相关推荐

  • SqlCommandBuilder如何实现批量更新

    一般是这样的,如果用设计器将SqlDataAdapter拖到页面中使用时,不会出现SqlDataAdapter.Update(ds)更新时出错情况,因为系统会自动生成SqlDataAdapter的属性命令,比如: .UpdateCommane insertCommand selectCommand等.  但是有些程序员不喜欢用设计器,或者是有些地方没必要拖动SqlDataAdapter这么个庞大物来实现,那么SqlDataAdapter就不会自动生成相关的查询或更新语句了. 所以当执行到SqlD

  • mysqlreport显示Com_中change_db占用比例高的问题的解决方法

    首先说明一点,每天的访问量并不大每天才2W的访问量,按道理说,访问量再增加一倍这样的服务器也应该足以承受.可是我们的服务器为什么总是这样频频重启呢?经过mysqlreport显示mysql运行的状态如下:MySQL 5.1.28-rc-log uptime 0 0:4:48 Thu Apr 30 14:04:58 2009 __ Key _________________________________________________________________Buffer used 7.7

  • SQL Server 2008+ Reporting Services (SSRS)使用USER登录问题

    我的数据库和报表服务的版本如下: 数据库:SQL Server 2008 R2 报表服务:SQL Server 2008 R2 Reporting Services 我本想让用户像访问网站一样访问我的报表服务,该死的SQL Server Reporting Services从2005以后就不依赖于IIS,造成用户不能匿名访问了. 网上有关于"SQL Server 2008 Reporting Services匿名访问"的教程,通过修改Reporting Services下的配置文件来实

  • PHP函数之error_reporting(E_ALL ^ E_NOTICE)详细说明

    举例说明: 在Windows环境下:原本在php4.3.0中运行正常的程序,在4.3.1中为何多处报错,大体提示为:Notice:Undefined varialbe:变量名称. 例如有如下的代码: 复制代码 代码如下: if (!$tmp_i) { $tmp_i=10; } 在4.3.0中运行正常,在4.3.1中运行会提示Notice:Undefined varialbe:tmp_i 问题下下: 1.问题出在哪里? 2.应如何修改这段代码? 3.不改段代码,如何修改php.ini中的设置使原来

  • PHP中error_reporting()函数的用法(修改PHP屏蔽错误)

    今天学习CI框架过程中遇到个问题: A PHP Error was encountered Severity: Notice Message: Undefined variable: user 一般在默认的普通PHP文件中输出一个未定义声明的变量是不会报错误的,但在codeigniter框架下却要报错误,这对于想集成 添加 和 修改 页面于一体的"懒人"很不方便,由于是初学者开始还想怎么在代码中屏蔽这一错误提示呢.甚至用到了@,但听很多人都说@会大大降低性能-. 最后突然想到,是不是c

  • SqlCommandBuilder类批量更新excel或者CSV数据的方法

    当你批量操作数据的时候,常常会使用到update table1 from table2的这种方式,这种方式是最简洁的. 但当你从excel或者CSV文件更新海量数据时,再使用这种方法,那性能是不是好?字符串拼接又何其之多,大数据是不是需要分组更新? 我不想去检测各种方法的速度,因为我个人比较认可以下方式,欢迎大家批评与指正. 我需要使用到的类主要是SqlCommandBuilder. /// <param name="table">准备更新的DataTable新数据<

  • SQL Report Builder 报表里面的常见问题分析

    一 SQL报表常常会遇到在表格中的相除,如果分母为零,一般会显示错误号,我们可以这么处理:(加上是A/B) =A / iif(B=0,99999999999999, B) 但是我们不能这么写: =iif(B=0,0,A/B)  //我们不能这么写,会产生BUG,至于什么BUG,你们可以自己试试 二 我们假设报表中的某一个格子的名字为A,我们在A中需要引用另一个格子B的值,在这种情况下,我们通常会把B中的计算公式再次引用在A中复制一遍,这样很导致很麻烦. 我们可以在A中直接这么写: ReportI

  • JBuilderX+SQL Server开发hibernate

    环境: 开发的IDE:JBuilderX 使用的数据库:MS Sql Server 2000 使用的数据库驱动:JSQL Driver(JDBC 3.0) 说明: 1.hibernate在配置文件中明确说明"Microsoft Driver (not recommended!)",因此先使用JSQL Driver. 2.JSQL Driver可以到http://www.jnetdirect.com中得到,需要先注册个用户,才能下载到试用的版本. 3.JDBC3.0只能在JDK1.4及以

  • asp.net Reporting Service在Web Application中的应用

    原先刚装上Reporting Service时还觉得有点神秘,毕竟在做这个项目前还没有真正接触这个微软用于代替水晶报表的报表工具,而且微软似乎还不满足于一个报表工具那么简单. Reporting Services 是一种基于服务器的新型报表平台,部署在Microsoft® SQL Server™ 2000基础上,可用于创建和管理包含来自关系数据源和多维数据源的数据的表格报表.矩阵报表.图形报表和自由格式报表.可以通过基于 Web 的连接来查看和管理您创建的报表. Reporting Servic

  • jbuilder2006连接sqlserver2000的方法

    1.其中包括下载JDBC FRO Microsft SQL_Server2000的驱动程序(在微软官方网站下的,是sp3版的,这里就不写具体地址了,网上挺多的,但注意版本,我下的是sp3).下载后发现是EXE 文件,双击安装.默认安装目录:C:Program FilesMicrosoft SQL Server 2000 Driver for JDBC,其中C:Program FilesMicrosoft SQL Server 2000 Driver for JDBClib目录下的三个扩展名为.j

  • php5.3以后的版本连接sqlserver2000的方法

    最近在做一个系统要抓取管家数据库里面的几个表的数据显示在web页面,于是乎上网搜了一下php如何连接sqlserver2000数据库,网上很多教材都是要配置php.ini配置文件,去掉;extension=php_mssql.dll前面的分号";",然后把ext文件里面php_mssql.dll复制粘贴到系统盘system32目录下,然后重启apache服务器即可,然后写连接数据库的代码件:<?php $conn=mssql_connect("服务器",&qu

  • Python连接SQLServer2000的方法详解

    本文实例讲述了Python连接SQLServer2000的方法.分享给大家供大家参考,具体如下: http://pymssql.sourceforge.net/  介绍PYTHON 连接MSSQL的好地址的哦! Python好的一个方法就是能够在网上找到很多现成的模块然后直接下载拿过来用就可以了.具体快速开发的一个原因也就是这个了.现在就是主要来研究一个pymssql这个模块的操作功能了! 可以安装之后直接查询帮助文档进行查看到这个模块的一些功能帮助文档. 1.一个解决乱码问题的方法: s.de

  • go语言操作redis连接池的方法

    本文实例讲述了go语言操作redis连接池的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: func newPool(server, password string) *redis.Pool {     return &redis.Pool{         MaxIdle: 3,         IdleTimeout: 240 * time.Second,         Dial: func () (redis.Conn, error) {             c

  • java连接mysql数据库及测试是否连接成功的方法

    本文实例讲述了java连接mysql数据库及测试是否连接成功的方法.分享给大家供大家参考,具体如下: package com.test.tool; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement

  • 64位win7下pl/sql无法连接oracle解决方法

    1.pl/sql无法连接本机的oracle(ORA 12154:TNS:无法解析指定的连接标识符) 解决方法:pl/sql不能安装在Program Files(x86)文件夹下,要安装在Program Files文件夹下 2.pl/sql无法连接远程oracle(ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务) 解决方法:①在linux下找到oracle目录下的listener.ora,用vi编辑②下面红色为添加部分,其中GLOBAL_DBNAME要与客户机配置的or

  • Python连接phoenix的方法示例

    本文实例讲述了Python连接phoenix的方法.分享给大家供大家参考,具体如下: phoenix是由saleforce.com开源的一个项目,后又捐给了Apache.它相当于一个Java中间件,帮助开发者,像使用jdbc访问关系型数据库一些,访问NoSql数据库HBase.可以把Phoenix只看成一种代替HBase的语法的一个工具.虽然可以用java可以用jdbc来连接phoenix,然后操作HBase,但是在生产环境中,不可以用在OLTP中. Phoenix官网:http://phoen

  • asp.net通过配置文件连接Access的方法

    本文实例讲述了asp.net通过配置文件连接Access的方法.分享给大家供大家参考.具体分析如下: 这里数据库blog.mdb存放在App_Data中 配置文件 <connectionStrings> //方法一 <add name="access_conn" connectionString="Provider=Microsoft.Jet.Oledb.4.0;data source="/> <add name="acces

  • python查看FTP是否能连接成功的方法

    本文实例讲述了python查看FTP是否能连接成功的方法.分享给大家供大家参考.具体如下: #!/usr/local/bin/python #-*- coding: UTF-8 -*- #################################################################### # python 查看FTP是否能连接成功 ##################################################################

  • python使用socket远程连接错误处理方法

    本文实例讲述了python使用socket远程连接错误处理方法.分享给大家供大家参考.具体如下: import socket, sys host = sys.argv[1] textport = sys.argv[2] filename = sys.argv[3] try: s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) except socket.error, e: print "Strange error creating sock

随机推荐