Sqoop 将数据从 SQLServer 导入到 HBase
1、 Sqoop 安装包中并不包含 jdbc 的 SqlServer 驱动,所以想在 HDFS 和 SqlServer 数据库之间导
入 导 出 数 据 , 则 需 要 先 下 载 jdbc 的 SqlServer 驱 动 。 到
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=21599 上 下载 jdbc 驱
动 1033\sqljdbc_3.0.1301.101_enu.tar.gz,解压,把 sqljdbc4.jar 包拷贝到 Sqoop 安装 目录下
的 lib 目录下
2、 但是这个只是 jdbc 中 SqlServer 的驱动,它并不支持 HDFS 与 SqlServer 数据库之间数据的传
SQL Server-Hadoop Connector 。 下 载 地 址 为
输 , 还 需 要 下 载
http://www.microsoft.com/download/en/details.aspx?id=27584 , 解压得到 sqoop-sqlserver-1.0
目录,并在系统中添加环境变量 MSSQL_CONNECTOR_HOME,让它指向 sqoop- sqlserver-1.0
目录
3、 然后执行 sqoop-sqlserver-1.0 目录下的 install.sh。这个命令会将连接的 jar 文件和配置文 件拷
贝的 Sqoop 目录中
4、 sqoop import --connect
'jdbc:sqlserver://192.168.4.155;username=sa;password=sa;database=pi'
--table=pi_item_master --target-dir /user/cloudcomputing/output -m 3
便可以把 IP 地址为 192.168.1.123 机器上的 test 数据库中的 test 表导入到 HDFS 上的
/user/cloudcomputing/output 目录下。
导出:
$bin/sqoop export --connect
'jdbc:sqlserver://192.168.1.123;username=test;password=123;database=test' --table test
--export-dir /user/cloudcomputing/output
便可以把/user/cloudcomputing/output 目录下的数据导入到 192.168.1.123 机器上的 test 数据库
中的 test 数据表中。
5、 遇到一个问题 Java Runtime Environment (JRE) version 1.7 is not supported by this driver
在 sqoop/lib 下只需要将 sqljdbc4.jar 拷贝到文件夹下即可。
参考资料:
http://stackoverflow.com/questions/14109868/http-status-500-java-runtime-environment-jre-ver
sion-1-7-is-not-supported-by
I am trying to access MS SQL server 2005 from a servlet file. I am using JDBC 4.0
driver. I have already added the JAR files
files
to my Tomcat
But while running code I am getting an error
and sqljdbc4.jar
sqljdbc.jar
/lib
folder.
HTTP Status 500 - Java Runtime Environment (JRE) version 1.7 is not supported by
this driver. Use the sqljdbc4.jar class library, which provides support for JDBC
4.0.
How is this caused and how can I solve it?
My code is:
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection conn = conn =
DriverManager.getConnection("jdbc:sqlserver://localhost;databaseName=school;user=sa
;password=123");
PrintWriter pwOut = res.getWriter();
pwOut.println("Connected");
Statement st = conn.createStatement();
String searchCriteria = req.getParameter("txtSearch");
ResultSet rs = st.executeQuery("select * from student");
res.setContentType("text/html");
activeoldest votes
The error message is pretty clear. Tomcat is using the wrong driver.
You state that you copied
folder. That is most probably the reason for your problem.
You
Try to delete
from the Tomcat lib folder
need sqljdbc4.jar
sqljdbc.jar
only
sqljdbc.jar
and
sqljdbc4.jar
into the Tomcat lib
otherwise Tomcat picks up the wrong one.
Here is my Code to connect java to Microsoft sql Server 2012
You only need sqljdbc4.jar that avail on offical Microsoft website. Here is the
link:
http://download.microsoft.com/download/0/2/A/02AAE597-3865-456C-AE7F-613F99F8
50A8/sqljdbc_4.0.2206.100_enu.exe
It contains 2 jar files, and I am trying to use
I am using to connect:
package com.Sql.ConnectDB;
sqljdbc4.jar. This is the code
import java.sql.*;
public class DbClass {
public static void main(String[] args) {
// TODO Auto-generated method stub
try{
**String
url="jdbc:sqlserver://localhost;databaseName=Student";**//important
String user="username";
String pass="password";
**Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");**//important
Connection con=DriverManager.getConnection(url,user,pass);
System.out.println("Conneccted Successfully");
}catch(Exception e){
e.printStackTrace();
}
}
}