1、JDK的安装
JDK由SUN公司提供,可到SUN公司的官方网站进行下载,下载后运行exe文件安装即可,具体安装步骤略。
2、JDK配置与测试
JDK安装完成后,需要设置环境变量及测试JDK配置是否成功,具体步骤如下:
(1)右键单击“我的电脑”,选择“属性”菜单项。在弹出的“系统属性”对话框中选择“高级”选项卡,然后单击“环境变量”按钮”,将弹出“环境变量”对话框。
(2)在“环境变量”对话框中,单击“系统变量”区域中的“新建”按钮,将弹出“新建系统变量”对话框。
(3)在“新建系统变量”对话框中,在“变量名”文本框中输入JAVA_HOME,在“变量值”文本框中输入JDK的安装路径,例如:“C:\Program Files\Java\jdk1.6.0_10”,最后单击“确定”按钮,完成变量JAVA_HOME的创建。
(4)在系统变量栏中查看是否存在PATH变量,若存在,则加入“%JAVA_HOME%\bin”。若不存在,则创建该变量,并设置为“JAVA_HOME%\bin”。
(5)在环境变量对话框的Administrater的用户变量栏中查看是否存在CLASSPATH变量,若存在,则加入“.;%JAVA_HOME%\lib\tools.jar;”若不存在,则创建该变量,并设置上面的变量值。
(6)接下来测试JDK配置是否成功。依次单击“开始”/“运行”菜单项,在弹出的“运行”对话框中输入“cmd”命令,进入MS-DOS命令窗口。进入任意目录下后输入“javac”命令,按<Enter>键,系统会输出javac命令的使用帮助信息。这说明JDK配置成功,否则需要检查上面各步骤的配置是否正确。
3、MySQL数据库的连接
需要的引入的包mysql-connector-java-3.1.14.jar,其它版本的也行;
4、SQLServer2008数据库的连接
需要引入的包sqljdbc4.jar(这是我测试成功的),当然jdbc4.0有两个jar包,一个是sqljdbc.jar,另一个是sqljdbc4.jar,在引入的时候不能两个同时引入,只能引入一个,具体引入哪个可以在配置的时候试一试。
5、若要生成xml文件还需引入dom4j-1.6.1.jar包
6、Eclipse引入包的方法
右击你创建的工程,找到Build path ,选择 Add External Archives,找到你要导入的包,点击打开就可以引入了,引入后在工程下面的Referencede Libraries下便能显示这2个包了
将sqljdbc4.jar直接拷到自己jdk中jre\lib\ext下面就可以不用每次新建项目都去导入了!
7、sqlserver2008创建数据源
在控制面板---管理工具中选择数据源,选择系统DNS选项卡,点击添加,选择SQLServer,点击完成,填入你自己取的数据源的名称,描述可以不用写,在服务器的选择中大家要注意了,一定要是你的sqlserver服务器的名称,找名称的方法是在你开启sqlserver2008时在连接的界面上会有服务器的名称,把它填入服务器名称框就可以了。这里注意,在配置数据源时,“连接sql server以获得其他配置选项的默认设置”这一项中登陆ID输入“sa”,密码随意!
点击下一步,选择你自己的数据库,一直下一步,到最后的时候可以测试哦~~~一般都会成功的
8、端口设置
这是一个很重要的问题,sqlserver2008的端口是动态的,会比较麻烦,在windows---所有程序----microsoft sqlserver的程序文件夹下会有个配置管理器,打开它,设为如下状态(自己遇到“无法连接到WMI 提供程序 请注意,你只能使用SQL Server 配置管理器来管理SQL Server 2005服务器。找不到指定的模块。[0x8007007e]”-----在连接数据库应该经常遇到的问题,尤其是对盗版的xp系统而言。
这主要是通过Java 或者vc连接数据库遇到的问题。
解决问题的方法:检查一下 windows下的system32 中是否有framedyn.dll这个系统文件,如果没有到system32 下的wbem文件中拷贝framedyn.dll到system32 目录下
我就是这样解决的,希望能帮到你们击TCP/IP打开,选择IP地址,因为我在后面的程序中用的IP地址是127.0.0.1,所以我设置了IP6和IPALL,IPALL TCP动态端口号一般为1433,这在程序里 是要用到的,所以要记着哦,设置完后,需要重启服务器,打开控制面板----管理工具-----服务,选择SQL Server(SQL....),右击,选择停止,停止后再点击启动,便是重启了。
9、用户权限
做完以上的步骤,环境便差不多配置好了,接下来就是程序如何获取数据库权限了~~~
如果你是要自己设置的账号的话,你可以在控制面板------管理工具-----计算机管理中选择本地用户和组展开,右击用户,选择新用户,这样就可以在计算机中添加一个账号了,然后在数据库中的安全性---登录名,右击选择新建登录名,点击右方的搜索,
点击高级,立即查找,在下方便会出现计算机上的用户名了,选择你创建的用户名,点击确定,在用户映射的选项卡中选择你要连接的数据库,同时,你需要在最上方的服务器中右击
选择属性-----安全性----sql身份验证和windows身份验证模式。
10、MySQL和SQLServer2008测试代码:
package mysql;
/*
*
****数据库导出.xml文件,通过给定的表名导出所有数据生成xml文件
****
*/
import java.io.File;
import java.io.FileWriter;
import java.io.Writer;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.*;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.zip.DataFormatException;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
public class mysql {
/**
* 通过给定的数据库实例导出所有数据生成xml文件
*
* @param urlName
* 数据库实例名
*/
public static void createXml(String className,String urlName,String fileName,String userName,String pass) {
System.out.println("==========转换开始==============");
try {
Class.forName(className);
String [] starr=new String[1];
String table_cat=new String();
String table_name=new String();
String table_schem=new String();
int table_cat_num=1,table_name_num=65;
//创建连接
String url = urlName;
String user = userName;//
String password = pass;//
Connection con1 = DriverManager.getConnection(url, user, password);
Connection con2 = DriverManager.getConnection(url, user, password);
DatabaseMetaData DBMetadata1=con1.getMetaData();
DatabaseMetaData DBMetadata2=con2.getMetaData();
ResultSet rs1,rs2;
// -----------------使用DOM4J生成xml文件
Document doc = DocumentHelper.createDocument();
// 生成根节点
Element root = doc.addElement("ROOT");
Element e = root.addElement(fileName);
// Element e = root.addElement("sqlserver2008");
Element e1 = e.addElement("TABLE_CAT");
Element e2,e3,e4;
rs1=DBMetadata1.getCatalogs();
while(rs1.next()) {
table_cat=rs1.getString("TABLE_CAT");
e2 = e1.addElement(table_cat);
e3 = e2.addElement("TABLE");
starr[0]="TABLE";
rs2=DBMetadata2.getTables(table_cat,null,null,starr);
while(rs2.next()) {
table_name=rs2.getString("TABLE_NAME");
table_schem=rs2.getString("TABLE_SCHEM");
if(table_schem==null)
e4 = e3.addElement(table_name);
else
e4 = e3.addElement(table_schem+"."+table_name);
}
rs2.close();
e3 = e2.addElement("VIEW");
starr[0]="VIEW";
rs2=DBMetadata2.getTables(table_cat,null,null,starr);
while(rs2.next()) {
table_name=rs2.getString("TABLE_NAME");
table_schem=rs2.getString("TABLE_SCHEM");
if(table_schem==null)
e4 = e3.addElement(table_name);
else
e4 = e3.addElement(table_schem+"."+table_name);
}
rs2.close();
}
rs1.close();
con2.close();
con1.close();
// 写入文件
DateFormat df = new SimpleDateFormat("yyyyMMdd");
OutputFormat opf = OutputFormat.createPrettyPrint();
opf.setEncoding("GBK");
System.out.println("./" + df.format(new Date()));
File f = new File("./" + df.format(new Date()));
if (f.exists() == false) {
f.mkdir();
}
Writer w = new FileWriter(f + "/" + fileName + ".xml");
// Writer w = new FileWriter(f + "/" + "sqlserver2008" + ".xml");
XMLWriter xw = new XMLWriter(w, opf);
xw.write(doc);
// 关闭文件流
xw.close();
w.close();
System.out.println("==========生成完毕==============");
}
catch(Exception e)
{
e.printStackTrace();
}
}
public static void main(String[] args) {
createXml("com.microsoft.sqlserver.jdbc.SQLServerDriver","jdbc:sqlserver://localhost:1433;DatabaseName = bookmis","sqlserver2008","sa","314159");
createXml("com.mysql.jdbc.Driver","jdbc:mysql://localhost:3306/bookmis","mySQL","root","314159");
}
}