文章目录
- 安装
- 配置
- 备份、还原数据库
- .bak文件还原数据库
- 备份数据库为.bak文件
- 使用JDBC连接SQL Server
- 配置
- Spark连接SQL Server代码
安装
下载:https://www.microsoft/zh-cn/download/details.aspx?id=23650
下载完成后进行安装,安装过程不写了,安装完成后进行配置。
配置
打开SQL Server 配置管理器(Sql Server Configuration Manager),
按下图启用TCP/IP和Named Pipes协议:
然后,启动SQL Server (SQLEXPRESS)服务,如图:
至此,就可以打开SQL Server Management Studio管理数据库了。
先建立连接。我是在本地运行,使用Windows身份验证,如图填写并连接:
连接成功就可以进行查询了:
SELECT TOP 100 *
FROM cdsgus
where Name like '李%';
备份、还原数据库
.bak文件还原数据库
- 右键数据库,选还原数据库;
- 在弹出的还原数据库窗口中,源设备位置选择数据库备份文件(.bak文件),目标数据库位置填入数据库名称,填入的名称最好和下面的一致;
- 点击确定,等待完成。
备份数据库为.bak文件
- 右键要备份的数据库,选择任务、备份;
- 在弹出的备份数据库窗口中,填入相关信息;
- 点击确定,等待完成。
使用JDBC连接SQL Server
配置
打开SQL Server 配置管理器,配置连接端口:
下载JDBC驱动:https://www.microsoft/zh-CN/download/details.aspx?id=57782
安装驱动,会自动解压到一个目录。
将目录中相应jar文件加入程序classpath目录。
我是采用Windows身份验证连接的,需要将驱动目录下,auth目录的相应sqljdbc_auth.dll文件放入windows\system32下。
然后就可以用JDBC连接了。
Spark连接SQL Server代码
下面是我用spark连接SQL Server的程序,供参考。
其中jdbc_test
方法是采用纯jdbc方式连接的,不涉及spark。
import org.apache.spark.sql.SparkSession
import java.sql.DriverManager
import java.util.Properties
object SQLServerTest {
def main(args: Array[String]): Unit = {
System.setProperty("hadoop.home.dir", "E:\\hadoop-2.7.5")
val spark = SparkSession
.builder()
.appName("SQLServerTest")
.config("spark.sql.parquet.writeLegacyFormat", true)
.enableHiveSupport()
.getOrCreate()
import spark.implicits._
val url = "jdbc:sqlserver://localhost:1433;databaseName=shifenzheng;integratedSecurity=true;"
val prop = {
val p = new Properties
p.put("url", url)
p
}
val df = spark.read.jdbc(url, "(select * from cdsgus) a",
"id", 2, 20050145, 4, prop)
df.show
println(df.count)
df.write.saveAsTable("cdsgus")
}
def jdbc_test() {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver")
val url = "jdbc:sqlserver://localhost:1433;databaseName=shifenzheng;integratedSecurity=true;"
val conn = DriverManager.getConnection(url)
val stmt = conn.createStatement()
val sql = "select min(id) as id from cdsgus";
val rs = stmt.executeQuery(sql);
while (rs.next()) {
println(rs.getInt("id"));
}
rs.close();
stmt.close();
conn.close();
}
}
更多推荐
SQL Server 安装、配置、使用
发布评论