??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美日本成人,国产欧美一区二区精品婷婷,eeuss影院在线播放http://www.aygfsteel.com/SINOJAVA/category/9698.html受挫一?对生zȝ理解加深一?p一ơ对人生的感悟增M?不幸一?对世界的认识成熟一U?难一?Ҏ功的内涵透彻一?zh-cnWed, 07 Mar 2007 13:20:48 GMTWed, 07 Mar 2007 13:20:48 GMT60[转]JAVA与数据库q接Ҏ(1.2.3) http://www.aygfsteel.com/SINOJAVA/articles/40154.htmlSINOJAVASINOJAVASun, 09 Apr 2006 23:22:00 GMThttp://www.aygfsteel.com/SINOJAVA/articles/40154.htmlhttp://www.aygfsteel.com/SINOJAVA/comments/40154.htmlhttp://www.aygfsteel.com/SINOJAVA/articles/40154.html#Feedback0http://www.aygfsteel.com/SINOJAVA/comments/commentRss/40154.htmlhttp://www.aygfsteel.com/SINOJAVA/services/trackbacks/40154.html[转]
JAVA与数据库q接ҎQ一Q?img height="19" src="http://www.aygfsteel.com/Emoticons/thumbs_down.gif" width="19" border="0" /> 
 

用JAVAq接数据库主要有两种方式Q?font color="#0000ff">一是用JDBC-ODBC桥来q接Q?font color="#0000ff">二是用相兛_商提供的相应驱动E序来连接,首先谈谈W一U连接?/font>

JDBC-ODBC桥接器是用JdbcOdbc.Class和一个用于访问ODBC驱动E序的本地库实现的。对于WINDOWSq_Q该本地库是一个动态连接库DLL

(JDBCODBC.DLL)?

׃JDBC在设计上与ODBC很接q。在内部Q这个驱动程序把JDBC的方法映到ODBC调用上,q样QJDBC可以和M可用的ODBC驱动E序q行

交互了。这U桥接器的优ҎQ它使JDBC目前有能力访问几乎所有的数据库。通行方式如图所C:

应用E序---JDBC API---JDBC-ODBC---ODBC API---ODBC?--数据?

具体操作Ҏ为:

首先打开控制面板的管理工P打开数据源(ODBCQ,在用户DSN里面d数据源(即你要连接的数据库的名字Q,在这里假定连接SQL SERVER

2000的GoodsSupply数据库。名U填写你要连接的数据库的名称QGoodsSupplyQ,然后逐步讄Q如果选用了用SQL-SERVER密码认证的话Q?/p>

p输入相应的用户名及密码连接到数据库。一路下一步设|完成?

在JAVA里面~写E序q行试Q在q里我的E序是让用户输入L的表名与与列名,把该列的所有数据输出。源代码如下Q?

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.sql.*;

public class ODBCBridge {

public static void main(String[] args) {
String url="jdbc:odbc:GoodsSupply";
Statement sm=null;
String command=null;
ResultSet rs=null;
String tableName=null;
String cName=null;
String result=null;
BufferedReader input=new BufferedReader(new InputStreamReader(System.in));
try {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //加蝲驱动
}catch(ClassNotFoundException e){
System.out.println("Can not load Jdbc-Odbc Bridge Driver");
System.err.print("ClassNotFoundException:");
System.err.println(e.getMessage());
}
Connection con=DriverManager.getConnection(url,"USER","PASSWORD"); //使用SQL-SERVER2000认证
DatabaseMetaData dmd=con.getMetaData(); //DMD接的相应情况
System.out.println("q接的数据库:"+dmd.getURL());
System.out.println("驱动E序:"+dmd.getDriverName());
sm=con.createStatement();
System.out.println("输入表名");
tableName=input.readLine();
while(true) {
System.out.println("输入列名(为空时程序结?:");
cName=input.readLine();
if(cName.equalsIgnoreCase(""))
break;
command="select "+cName+" from "+tableName;
rs=sm.executeQuery(command); //执行查询
if(!rs.next())
System.out.println("表名或列名输入有?);
else {
System.out.println("查询l果?");
do
{
result=rs.getString(cName);
//数据库语a讄Z文,不用转换~码
//result=new String(result.getBytes("ISO-8859-1"),"GB2312");
System.out.println(result);
}while(rs.next());
}
}
}catch(SQLException ex) {
System.out.println("SQLException:");
while(ex!=null) {
System.out.println("Message:"+ex.getMessage());
ex=ex.getNextException();
}
}catch(Exception e) {
System.out.println("IOException");
}
}


JAVA与数据库q接ҎQ二Q?/strong>

现在介绍W二U方法,用关厂商提供的相应驱动程序来q接?

q种实现Ҏ是直接用数据库厂商提供的用专用的网l协议创建的驱动E序Q通过它可以直接将JDBC API调用转换为直接网l调用。这U调

用方式一般性能比较好,而且也是实用中最单的Ҏ。因为它步需要安装其他的库或中间件。几乎所有的数据库厂商都Z们的数据库提?/p>

了这U数据库提供了这UJDBC驱动E序Q也可以从第三方厂商获得q些驱动E序?

从网址http://industry.Java.sun.com/products/jdbc/drivers/可以看到所有有用的驱动E序的清单。其l果如图所C:

应用E序---JDBC API---驱动E序---数据?

q里首先要安装JDBC的驱动程序,推荐SP2版本的,可从微Y|站上下?
http://www.microsoft.com/downloads/details.aspx?FamilyID=9f1874b6-f8e1-4bd6-947c-0fc5bf05bf71&DisplayLang=en 下蝲最下面?/p>

SETUP.EXE

q个驱动E序要配合SQL SERVER2000 SP3AQ相应下载URL?
http://www.microsoft.com/china/sql/downloads/sp3.asp 下蝲 chs_sql2ksp3.exe

如果用JAVA SDK直接~译q行的话需要设|环境变量,安装好的JDBC驱动里面的LIB三个文g讄为环境变量:
classpathQ?
D:\program files\Microsoft SQL Server\jdbc\lib\msbase.jar;
D:\program files\Microsoft SQL Server\jdbc\lib\mssqlserver.jar;
D:\program files\Microsoft SQL Server\jdbc\lib\msutil.jar;

安装卛_用微软的驱动E序q接数据库了Q相应代码与前面基本相同Q?

import java.sql.*;
import java.io.*;
public class DBColumn {

public static void main(String[] args) {
Connection con=null;
Statement sm=null;
String command=null;
ResultSet rs=null;
String tableName=null;
String cName=null;
String result=null;
BufferedReader input=new BufferedReader(new InputStreamReader(System.in));
try
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
System.out.println("驱动E序已加?);
//SQL SERVER的登陆方式必Mؓ使用SQL SERVER密码登陆认证方式
con=DriverManager.getConnection("jdbc:microsoft:sqlserver://SERVERNAME:1433","USER","PASSWORD");
con.setCatalog("GoodsSupply");
System.out.println("OK,成功q接到数据库");
}catch(Exception ex) {
ex.printStackTrace();
}
try
{
sm=con.createStatement();
System.out.println("输入表名");
tableName=input.readLine();
while(true) {
System.out.println("输入列名(为空时程序结?:");
cName=input.readLine();
if(cName.equalsIgnoreCase(""))
break;
command="select "+cName+" from "+tableName;
rs=sm.executeQuery(command);
if(!rs.next())
System.out.println("表名或列名输入有?);
else {
System.out.println("查询l果?");
do
{
result=rs.getString(cName);
//result=new String(result.getBytes("ISO-8859-1"),"GB2312");
System.out.println(result);
}while(rs.next());
}
}
}catch(Exception ex) {
ex.printStackTrace();
}
}
}

 


                                                                 JAVA与数据库q接ҎQ三Q?img height="19" src="http://www.aygfsteel.com/Emoticons/thumbs_down.gif" width="19" border="0" />

最后给出JAVAq接其他数据库的关键代码Q?/p>

1、Oracle8/8i/9i数据库(thin模式Q  ?
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();   
String  url="jdbc:oracle:thin:@localhost:1521:orcl";   
//orcl为数据库的SID   
String  user="test";   
String  password="test";   
Connection  conn=  DriverManager.getConnection(url,user,password);   
 
2、DB2数据库  ?
Class.forName("com.ibm.db2.jdbc.app.DB2Driver  ").newInstance();   
String  url="jdbc:db2://localhost:5000/sample";   
//sampleZ的数据库名  ?
String  user="admin";   
String  password="";   
Connection  conn=DriverManager.getConnection(url,user,password);    
 
3、Sybase数据库  ?
Class.forName("com.sybase.jdbc.SybDriver").newInstance();   
String  url  ="  jdbc:sybase:Tds:localhost:5007/myDB";   
//myDBZ的数据库名  ?
Properties  sysProps  =  System.getProperties();   
SysProps.put("user","userid");   
SysProps.put("password","user_password");   
Connection  conn=  DriverManager.getConnection(url,  SysProps);   
 
4、Informix数据库  ?
Class.forName("com.informix.jdbc.IfxDriver").newInstance();   
String  url  =   
"jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver;   
user=testuser;password=testpassword";   
//myDB为数据库名  ?
Connection  conn=  DriverManager.getConnection(url);   
 
5、MySQL数据库  ?
Class.forName("org.gjt.mm.mysql.Driver").newInstance();   
String  url  ="jdbc:mysql://localhost/myDB?user=soft&password=soft1234&useUnicode= 
true&characterEncoding=8859_1"   
//myDB为数据库名  ?
Connection  conn=  DriverManager.getConnection(url);   
 
6、PostgreSQL数据库  ?
Class.forName("org.postgresql.Driver").newInstance();   
String  url  ="jdbc:postgresql://localhost/myDB"   
//myDB为数据库名  ?
String  user="myuser";   
String  password="mypassword";   
Connection  conn=  DriverManager.getConnection(url,user,password);



SINOJAVA 2006-04-10 07:22 发表评论
]]>
[原创]JDBC如何q接SQL SERVER 2000的默认实例和命名实例http://www.aygfsteel.com/SINOJAVA/articles/40152.htmlSINOJAVASINOJAVASun, 09 Apr 2006 23:16:00 GMThttp://www.aygfsteel.com/SINOJAVA/articles/40152.htmlhttp://www.aygfsteel.com/SINOJAVA/comments/40152.htmlhttp://www.aygfsteel.com/SINOJAVA/articles/40152.html#Feedback0http://www.aygfsteel.com/SINOJAVA/comments/commentRss/40152.htmlhttp://www.aygfsteel.com/SINOJAVA/services/trackbacks/40152.html [ 原创 ] JDBC 如何q接 SQL SERVER 2000 的默认实例和命名实例

 

引用h明出?/span> :http//www.aygfsteel.com/SINOJAVA

 

( ) 下蝲 Microsoft SQL Server 2000 Service Pack 3a q安?/span>
http://www.microsoft.com/downloads/details.aspx?FamilyId=90DCD52C-0488-4E46-AFBF-ACACE5369FA3&displaylang=zh-cn

 

( ?/span> ) 下蝲q安?/span> SQL SERVER 2000 ?/span> JDBC 驱动 ( SQL Server 2000 Driver for JDBC Service Pack 3 )

http://www.microsoft.com/downloads/details.aspx?FamilyId=07287B11-0502-461A-B138-2AA54BFDC03A&displaylang=en

 

( ?/span> ) 配置 JDBC 驱动 classpath 环境变量 :

Ҏ 1:

 

填加 :

C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msbase.jar;

C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\mssqlserver.jar;

C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msutil.jar;

 

?/span> : C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\ 为我 JDBC 得安装\?/span>

 

Ҏ 2:

 

?/span> mssqlserver.jar; msutil.jar; msbase.jar 拯?/span> JDK ?/span> lib 目录?/span> , 然后讄 classpath

 

D:\Java\jdk1.5.0_05\lib\sqlserver\msutil.jar;

D:\Java\jdk1.5.0_05\lib\sqlserver\msbase.jar;

D:\Java\jdk1.5.0_05\lib\sqlserver\mssqlserver.jar;

 

( ?/span> ) 创徏q接数据库默认实例得q接代码 :

 

import java.sql.*;

public class ConSqlserver {

    

     Connection con=null;

     //Statement st=null;

     //ResultSet re=null;

    

     public ConSqlserver()

     {

            try

            {

                String driver="com.microsoft.jdbc.sqlserver.SqlServerDriver";

                String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Northwind";

                Class.forName(driver).newInstance();

                con =DriverManager.getConnection(url,"sa","zhaopf");

                System.out.println(" q接成功 !");

                con.close();

           

            }

            catch(Exception e)

            {

                   e.printStackTrace();

            }

           

           

     }

 

       public static void main(String[] args)

     {

            // TODO 自动生成Ҏ存根

            ConSqlserver con=new ConSqlserver();

           

 

     }

 

}

 

( ?/span> ) 创徏q接数据库默认实例得q接代码 ( 实例名ؓ SINOIT\SINOSERVER) L

 

import java.sql.*;

public class ConSqlserverppp {

    

     Connection con=null;

     //Statement st=null;

     //ResultSet re=null;

    

     public ConSqlserverppp()

     {

            try

            {

                //String driver="com.microsoft.jdbc.sqlserver.SqlServerDriver";

                String url="jdbc:microsoft:sqlserver://SINOIT\\SINOSERVER;DatabaseName=Northwind";

               

                Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();

                  

                //Class.forName(driver);//.newInstance();

                con =DriverManager.getConnection(url,"sa","zse");

                //st=con.createStatement();

                System.out.println(" q接成功 !");

                con.close();

           

            }

            catch(Exception e)

            {

                   e.printStackTrace();

            }

           

           

     }

 

     public static void main(String[] args)

     {

           

            ConSqlserverppp con=new ConSqlserverppp();

     }

 

}

 

 



SINOJAVA 2006-04-10 07:16 发表评论
]]>
[原创]JDBCq接大全(SQL Server, ORACLE, MySQL, DB2)http://www.aygfsteel.com/SINOJAVA/articles/40150.htmlSINOJAVASINOJAVASun, 09 Apr 2006 23:11:00 GMThttp://www.aygfsteel.com/SINOJAVA/articles/40150.htmlhttp://www.aygfsteel.com/SINOJAVA/comments/40150.htmlhttp://www.aygfsteel.com/SINOJAVA/articles/40150.html#Feedback0http://www.aygfsteel.com/SINOJAVA/comments/commentRss/40150.htmlhttp://www.aygfsteel.com/SINOJAVA/services/trackbacks/40150.html JDBC q接大全 ( SQL Server, ORACLE, MySQL, DB2 )

         引用h明出?/span> :http//www.aygfsteel.com/SINOJAVA

 

1.  JDBC q接 SQL Server                                     

 

 

下蝲 SQL Server JDBC 驱动

 

CLASSPATH=.;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msbase.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\mssqlserver.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msutil.jar

 

例子Q?/span>

import java.sql.*;

public class ConSqlserver{

    Connection con;

    Statement st;

    ResultSet rs; 

    public ConSqlserver(){ 

        try{

               String name="com.microsoft.jdbc.sqlserver.SQLServerDriver";

               String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=northwind;User=user;Password=password";

 

               Class.forName(name);

               con=DriverManager.getConnection(url,"user","password");

               System.out.println(" q接成功 !");

               con.close();          

         }catch(Exception e){

               e.printStackTrace();

         }

    }

 

    public static void main(String args[])

   

    {   

        ConSqlserver cs=new ConSqlserver(); 

    }

 

}

 

2.JDBC q接 ORACLE- -                                      

 

 

oracle 自己?/span> jdbc 驱动Q具体位|在 C:\oracleora92\jdbc\lib\classes12.jar

 

CLASSPATH=.;C:\oracleora92\jdbc\lib\classes12.jar

 

例子Q?/span>

import java.sql.*;

public class ConOracle{

 Connection con;

 Statement st;

 ResultSet rs; 

 public ConOracle(){ 

  try{

          String name="oracle.jdbc.driver.OracleDriver";

          String url="jdbc:oracle:thin@localhost:1521:database";

          Class.forName(name);

          con=DriverManager.getConnection(url,"user","password");

           System.out.println(" q接成功 !");

          con.close();          

  }catch(Exception e){

   e.printStackTrace();

  }

 public static void main(String args[]){   

  ConOracle co=new ConOracle(); 

 }

}

 

3.JDBC q接 MySQL                                    

 

 

下蝲 MySQLJDBC 驱动

 

CLASSPATH=.;C:\Program Files\MySQL\mysql-connector-java-3.2.0-alpha\mysql-connector

-java-3.2.0-alpha\mysql-connector-java-3.2.0-alpha-bin.jar

 

例子Q?/span>

import java.sql.*;

public class ConMysql{

 Connection con;

 Statement st;

 ResultSet rs; 

 public ConMysql(){ 

  try{

          String name="com.mysql.jdbc.Driver";

          String url="jdbc:mysql://localhost/database?user=user&password=password"; 

          Class.forName(name);

          con=DriverManager.getConnection(url);

          System.out.println(" q接成功 !");

          con.close();          

  }catch(Exception e){

   e.printStackTrace();

  }

 }

 

 public static void main(String args[]){   

  ConMysql cms=new ConMysql(); 

 }

}

 

4. JDBC q接 DB2- -                                      

 

 

DB2 自己?/span> jdbc 驱动Q具体位|在 C:\Program Files\IBM\SQLLIB\java\db2jcc.jar

C:\Program Files\IBM\SQLLIB\java\db2jcc_license_cu.jar

C:\Program Files\IBM\SQLLIB\java\db2jcc_license_cisuz.jar

 

CLASSPATH=.;C:\ProgramFiles\IBM\SQLLIB\java\db2jcc.jar;

C:\ProgramFiles\IBM\SQLLIB\java\db2jcc_license_cu.jar;

C:\ProgramFiles\IBM\SQLLIB\java\db2jcc_license_cisuz.jar

 

注意Q在使用 jdbc q接 db2 Ӟ一定要?/span> ibm 自己?/span> jdk Q?/span>

否则执行会出现错误,可能?/span> ibm ?/span> jdbc 驱动?/span> sun ?/span> jdk 不兼容的问题

      具体位置?/span> C:\Program Files\IBM\SQLLIB\java\jdk

 

例子Q?/span>

import java.sql.*;

public class ConDB2{

 Connection con;

 Statement st;

 ResultSet rs; 

 public ConDB2(){ 

  try{

          String name="com.ibm.db2.jcc.DB2Driver";

          String url="jdbc:db2://localhost:50000/database";

         Class.forName(name);

          con=DriverManager.getConnection(url,"user","password");

          System.out.println(" q接成功 !");

          con.close();          

  }catch(Exception e){

   e.printStackTrace();

  }

 }

 

 public static void main(String args[]){   

  ConDB2 cd=new ConDB2(); 

 }

}

 



SINOJAVA 2006-04-10 07:11 发表评论
]]>
[原创]数据库实?默认实例,命名实例)ȝhttp://www.aygfsteel.com/SINOJAVA/articles/40149.htmlSINOJAVASINOJAVASun, 09 Apr 2006 23:10:00 GMThttp://www.aygfsteel.com/SINOJAVA/articles/40149.htmlhttp://www.aygfsteel.com/SINOJAVA/comments/40149.htmlhttp://www.aygfsteel.com/SINOJAVA/articles/40149.html#Feedback0http://www.aygfsteel.com/SINOJAVA/comments/commentRss/40149.htmlhttp://www.aygfsteel.com/SINOJAVA/services/trackbacks/40149.html 数据库实?/span> ( 默认实例 , 命名实例 ) ȝ

 

引用h明出?/span> :http//www.aygfsteel.com/SINOJAVA

 

所谓的“实例”,是一?/span> SQL Server 数据库引擎?/span> SQL Server 2000 支持在同一台计机上同时运行多?/span> SQL Server 数据库引擎实例。每?/span> SQL Server 数据库引擎实例各有一套不为其他实例共享的pȝ及用h据库。应用程序连接同一台计机上的 SQL Server 数据库引擎实例的方式与连接其他计机上运行的 SQL Server 数据库引擎的方式基本相同。由于实例各有一套不为其他实例共享的pȝ及用h据库Q所以各实例的运行是独立的,一个实例的q行不会受其他实例运行的影响Q也不会影响其他实例的运行。在一台计机上安装多?/span> SQL Server 实例Q就相当于把q台计算机模拟成多个数据库服务器Q而且q些模拟的数据库服务器是独立且同时运行的?/span>

实例包括默认实例和命名实例两U。一台计机上最多只有一个默认实例,也可以没有默认实例,默认实例名与计算机名相同Q修改计机名会同步修改默认实例名( SQL Server 7.0 只能被安装ؓ默认实例Q在修改计算机名后,会导?/span> SQL Server 服务无法启动Q需要执?/span> SQL Server 安装E序q行自动修复才能解决启动问题Q,客户端连接默认实例时Q将使用安装 SQL Server 实例的计机名?/span>

在同一台计机上安?/span> SQL Server 7.0 ?/span> SQL Server 2000 Ӟ׃ SQL Server 7.0 只能安装为默认实例,所以应该先安装 SQL Server 7.0 Q将 SQL Server 2000 安装为命名实例。或者在安装 SQL Server 2000 的时候,指定安装为命名实例?/span>

 

一台计机上可以安装多个命名实例,客户端连接命名实例时Q必M用以下计机名称与命名实例的实例名组合的格式Q?/span>

computer_name\instance_name

 

实例主要应用于数据库引擎及其支持lgQ而不应用于客L工具。如果安装了多个实例Q则每个实例都将获得各自唯一的一套:

  • pȝ和用h据库?span lang="EN-US">
  • SQL Server ?span lang="EN-US"> SQL Server 代理服务。对于默认实例,服务名仍?span lang="EN-US"> MSSQLServer ?span lang="EN-US"> SQLServerAgent。对于命名实例,服务名改?span lang="EN-US"> MSSQL$instancename?span lang="EN-US"> SQLAgent$instancenameQ得这些服务与服务器上的其它实例分开启动和停止。可使用相关联的 SQL Server 服务启动和停止不同实例的数据库引擎?span lang="EN-US">SQL Server 代理服务理相关联的数据库引擎实例的调度事g?span lang="EN-US">
  • 与数据库引擎?span lang="EN-US">SQL Server ?span lang="EN-US"> SQL Server 代理服务相关联的注册表键?span lang="EN-US">
  • 使应用程序能q接特定实例的网l连接地址?span lang="EN-US">

实例׃nlg:

以下lg可由q行于同一台计机上的所有实例共享:

  • 此计机上只有一?span lang="EN-US"> SQL Server 2000 E序l?span lang="EN-US"> (Microsoft SQL Server)Q以及由该程序组中的每个图标表示的唯一一个实用工L复本。唯一一?span lang="EN-US"> SQL Server 联机丛书的复本?span lang="EN-US">

E序l中的实用工L本来自计机上最先安装的 SQL Server 2000 版本。例如,如果?span lang="EN-US"> SQL Server 2000 体中文版作ؓ默认实例安装Q然后将 SQL Server 2000 国p版作为命名实例安装,则只有一?span lang="EN-US"> SQL Server 2000 E序l。该E序l中的所有实用工具图标和 SQL Server 联机丛书图标都将启动体中文版的工兗?span lang="EN-US">

所?span lang="EN-US"> SQL Server 2000 实用工具都能处理多个实例。可以从一?span lang="EN-US"> SQL Server 2000 服务理器的复本启动和停止每个实例。可使用一?span lang="EN-US"> SQL Server 2000 SQL Server 企业理器复本控制计机上所有实例中的对象,使用一?span lang="EN-US"> SQL Server 2000 服务器网l管理器复本理计算Z所有实例的|络通讯地址?span lang="EN-US">

  • 仅有一?span lang="EN-US"> MSSearchService 复本理针对计算Z所?span lang="EN-US"> SQL Server 实例的全文检索?span lang="EN-US">
  • English Query ?span lang="EN-US"> Microsoft SQL Server 2000 Analysis Services 服务器都只有一个复本?span lang="EN-US">
  • 与客L软g相关联的注册表键在实例间不重复?span lang="EN-US">
  • 只有一?span lang="EN-US"> SQL Server 开发库Q包?span lang="EN-US"> *.lib 文gQ和CZ应用E序的复本?span lang="EN-US">

 



SINOJAVA 2006-04-10 07:10 发表评论
]]>
[原创]JDBC如何q接SQL SERVER 2000命名实例的调试全q程http://www.aygfsteel.com/SINOJAVA/articles/40148.htmlSINOJAVASINOJAVASun, 09 Apr 2006 23:09:00 GMThttp://www.aygfsteel.com/SINOJAVA/articles/40148.htmlhttp://www.aygfsteel.com/SINOJAVA/comments/40148.htmlhttp://www.aygfsteel.com/SINOJAVA/articles/40148.html#Feedback0http://www.aygfsteel.com/SINOJAVA/comments/commentRss/40148.htmlhttp://www.aygfsteel.com/SINOJAVA/services/trackbacks/40148.html

[ 原创 ] JDBC 如何q接 SQL SERVER 2000 命名实例的调试全q程

 

引用h明出?/span> :http//www.aygfsteel.com/SINOJAVA

 

( ) 整个操作及出错简要介l?/span> :

 

我用微Y提供?/span> JDBC 驱动E序来连?/span> , 我机?/span> SQL SERVER2000 安装时创建的是新?/span> SQL SERVER2000 命名实例 ( 没有安装 SQL Server 2000 数据库默认实?/span> ), ?/span> jdbc 安装 , 配置好以后开始连接数据库 , 我用的q接语句如下 ( 我已l装?/span> SP3 补丁 ) L

 

try

           {

               String driver="com.microsoft.jdbc.sqlserver.SqlServerDriver";

               String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=northwind;";

              

               Class.forName(driver);

               con =DriverManager.getConnection(url,"sa","zhaopf");

               System.out.println(" q接成功 !");

               con.close();

          

           }

catch(Exception e)

           {

                  e.printStackTrace();

           }

q行E序后出现如下错误提C?/span> :

 

E:\Java\eclipse>java ConSqlserver

java.lang.ClassNotFoundException: com.microsoft.jdbc

        at java.net.URLClassLoader$1.run(Unknown Sou

         at java.security.AccessController.doPrivileg

        at java.net.URLClassLoader.findClass(Unknown

        at java.lang.ClassLoader.loadClass(Unknown S

        at sun.misc.Launcher$AppClassLoader.loadClas

         at java.lang.ClassLoader.loadClass(Unknown S

        at java.lang.ClassLoader.loadClassInternal(U

        at java.lang.Class.forName0(Native Method)

        at java.lang.Class.forName(Unknown Source)

         at ConSqlserver.<init>(ConSqlserver.java:19)

        at ConSqlserver.main(ConSqlserver.java:40)

 

 

 

( ?/span> ) 调试q程如下 :

 

(1)        排除 jdbc 驱动出错 : 配|?/span> jdbc 驱动的环境变量删除后q行 , 昄的错误信息如?/span> :

 

  E:\Java\eclipse>java ConSqlserver

java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver

        at java.net.URLClassLoader$1.run(Unknown Source)

        at java.security.AccessController.doPrivileged(Native Method)

        at java.net.URLClassLoader.findClass(Unknown Source)

        at java.lang.ClassLoader.loadClass(Unknown Source)

        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)

        at java.lang.ClassLoader.loadClass(Unknown Source)

        at java.lang.ClassLoader.loadClassInternal(Unknown Source)

        at java.lang.Class.forName0(Native Method)

        at java.lang.Class.forName(Unknown Source)

        at ConSqlserver.<init>(ConSqlserver.java:37)

        at ConSqlserver.main(ConSqlserver.java:60)

 

?/span> : 排除?/span> jdbc 驱动安装的问?/span>

(2)        排除 SQL SERVER 安装问题 , 重新安装 SQL SERVER 2000, 此次安装选用 SQL SERVER2000 的默认实?/span> , q用上述的连接代码段 , 然后l箋调试E序成功 , q行昄 :

 

   E:\Java\eclipse>java ConSqlserver

q接成功 !

(3)        认数据库的安装中创建实例概忉|p?/span>

(4)        d弄清 SQL SERVER 2000 的默认实例与命名实例的含?/span>

(5)        重新查找关于 SQL SERVER 2000 JDBC 的帮助文?/span> ,

 

查得资料如下 :

 

Microsoft SQL Server 2000 supports multiple instances of a SQL Server database running

concurrently on the same server. An instance is identified by an instance name.

 

To connect to a named instance using a connection URL, use the following URL format:

 

jdbc:microsoft:sqlserver://server_name\\instance_name 

 

NOTE: The first backslash character (\) in \\instance_name is an escape character.

 

where:

 

server_name is the IP address or hostname of the server.

 

instance_name is the name of the instance to which you want to connect on the server.

 

For example, the following connection URL connects to an instance named instance1 on

server1:

 

jdbc:microsoft:sqlserver://server1\\instance1;User=test;Password=secret

 

To connect to a named instance using a data source, specify the ServerName connection

property as described in the "Connection String Properties" topic.

 

   

(6)        重新修改q接代码如下 :

 

try

            {

                //String driver="com.microsoft.jdbc.sqlserver.SqlServerDriver";

                String url="jdbc:microsoft:sqlserver://SINOIT\\SINOSERVER;DatabaseName=Northwind";

               

                Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();

                  

                //Class.forName(driver);//.newInstance();

                con =DriverManager.getConnection(url,"sa","zse");

                //st=con.createStatement();

                System.out.println(" q接成功 !");

                con.close();

           

            }

            catch(Exception e)

            {

                   e.printStackTrace();

            }

(7) l测试连接成?/span>



SINOJAVA 2006-04-10 07:09 发表评论
]]>
վ֩ģ壺 | | | | | | ƽ| բ| | Ͷ| | ͬ| ɣֲ| ҵ| | | | ȷɽ| | | ȷ| | | ɽ| | ٷ| | | | Զ| Ϫ| ̨| | | ʯ| | | | ʯ¥| ¦| |