连接SQLServer的三种⽅式
1. 问题背景
最近⽼板在AWS上创建了⼀个Microsoft SQL Server,给我分配⼀个⽤户名和密码让我处理数据。然⽽我以前⼀直⽤的是MYSQL,对新数据库突然有些⼿⾜⽆措。在研究了⼀段时间后,我总结了三种连接到SQL Server的⽅式,分别是:
Python利⽤sqlalchemy包来连接
SSMS (Microsoft SQL Server Management Studio)
sqlcmd
⼀般SQL Server指的就是Microsoft SQL Server。
2. 连接SQL Server所需必要条件和参数
连接本地的SQL Server直接⽤SSMS管理是⽐较简单的。本⽂只讨论远程连接⽹上的SQL Server。其中必要条件那就是你要有⼀个运⾏在⽹上的SQL Server,然后需要的必要参数有:
SQL Server的链接
⽤户名
密码
这三个参数都很容易理解,⽽且需要管理员提前配置好。还有另外两个参数:
端⼝:默认1433
数据库名称
SQL Server的默认端⼝是1433,所以有时候可以缺省。⼀个服务器上会有多个数据库,但是在SQL Server⾥,⼀个⽤户是有⼀个默认数据库的,所以在管理员配置好以后,也可以缺省。
3. Python的sqlalchemy包
from sqlalchemy import create_engine
user = 'username'
pwd = 'password'
url = 'thisisaserver'
port = 1433
db = 'database'
engine = create_engine(f'mssql+pymssql://{user}:{pwd}@{url}:{port}/{db}')
执⾏以下代码来测试是否连接顺利
import pandas as pd
sql_stmt = "SELECT name FROM SYSOBJECTS WHERE xtype = 'U'"
如果此代码运⾏没有报错,那么连接成功
4. SSMS
SSMS是Microsoft⾃⼰开发的图形化管理⼯具,⾃⼰去官⽹下载就好了,也是免费的。启动SSMS以后,你会看到如下界⾯
输⼊链接,⽤户名,密码然后链接就可以了,图中链接后⾯端⼝1443可以缺省。
注意:在链接和端⼝之间是逗号,⽽不是句号。
5. sqlcmd
sql连接不上服务器
⼤家也可以看出来sqlcmd是命令⾏命令,⽤法是
$sqlcmd -S thisisaserver -U username
Password:
1> SELECT name FROM SYSOBJECTS WHERE xtype = 'U'
2> GO
name
--------
EquitySecMstr
(1 rows affected)
1>
-S是数据库链接的意思,-U是⽤户名的意思。和MYSQL不同,在这⾥除了要⽤分号结尾以后,还有输⼊GO才会显⽰结果(不区分⼤⼩写)。
如果能看到1>,那么就成功连接到数据库上了!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。