连接 SQL Server 数据库的方法

在 Linux 系统中,要连接 SQL Server 数据库,我们可以使用一些可用的工具和方法。本文将介绍两种常用的方法:使用 mssql-cli 和使用 Python pyodbc 库。

方法一:使用 mssql-cli

安装 mssql-cli

mssql-cli 是一个在 Linux 系统上连接 SQL Server 数据库的命令行工具,可以通过以下命令进行安装:

# 安装依赖
$ sudo su
$ curl  > /etc/yum.repos.d/msprod.repo
$ exit
$ sudo yum remove unixODBC-utf16 unixODBC-utf16-devel # 如果已经安装了 unixODBC 包,请移除
$ sudo ACCEPT_EULA=Y yum install msodbcsql17
$ sudo ACCEPT_EULA=Y yum install mssql-cli

连接数据库

使用以下命令连接到 SQL Server 数据库:

$ mssql-cli -S <server_name> -d <database_name> -U <username>

其中,<server_name> 是 SQL Server 实例的名称,<database_name> 是要连接的数据库名称,<username> 是数据库用户的用户名。

执行 SQL 语句

连接成功后,可以在 mssql-cli 中执行 SQL 语句。例如,执行一个简单的查询语句:

SELECT * FROM Customers;

示例

下面是一个使用 mssql-cli 连接 SQL Server 数据库的完整示例:

$ mssql-cli -S localhost -d MyDatabase -U myusername
Password: *******
mssql-cli version 0.18.0. Connecting to localhost.

sql-cli> SELECT * FROM Customers;

方法二:使用 Python pyodbc 库

安装 pyodbc 库

在 Python 中连接 SQL Server 数据库,可以使用 pyodbc 库。首先,需要安装 pyodbc:

$ pip install pyodbc

连接数据库

使用以下代码连接到 SQL Server 数据库:

import pyodbc

server = '<server_name>'
database = '<database_name>'
username = '<username>'
password = '<password>'

# 创建连接字符串
conn_str = 'DRIVER={ODBC Driver 17 for SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password

# 连接数据库
conn = pyodbc.connect(conn_str)

# 创建游标
cursor = conn.cursor()

执行 SQL 语句

连接成功后,可以使用游标执行 SQL 语句。例如,执行一个简单的查询语句:

# 执行查询语句
cursor.execute('SELECT * FROM Customers')

# 获取查询结果
rows = cursor.fetchall()

# 打印结果
for row in rows:
    print(row)

示例

下面是一个使用 pyodbc 连接 SQL Server 数据库的完整示例:

import pyodbc

server = 'localhost'
database = 'MyDatabase'
username = 'myusername'
password = 'mypassword'

# 创建连接字符串
conn_str = 'DRIVER={ODBC Driver 17 for SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password

# 连接数据库
conn = pyodbc.connect(conn_str)

# 创建游标
cursor = conn.cursor()

# 执行查询语句
cursor.execute('SELECT * FROM Customers')

# 获取查询结果
rows = cursor.fetchall()

# 打印结果
for row in rows:
    print(row)

总结

本文介绍了在 Linux 系统中连接 SQL Server 数据库的两种常用方法:使用 mssql-cli 和使用 Python pyodbc 库。mssql-cli 是一个命令行工具,适用于在终端中快速执行 SQL 语句。pyodbc 是一个 Python 库,可以在代码中连接数据库并执行 SQL 语句。选择合适的方法取决于你的需求和偏好。

sequenceDiagram
    participant Linux
    participant SQL_Server
    participant mssql-cli
    participant pyodbc

    Linux->>SQL_Server: 发起连接请求
    SQL_Server-->>Linux: 返回连接响应

    Linux->>mssql-cli: 执行 SQL 语句
    mssql-cli->>SQL_Server: 发送 SQL 语句
    SQL_Server-->>mssql-cli: 返回查询结果
    mssql-cli-->>Linux: 返回结果

    Linux->>pyodbc: 执行 SQL 语句
    pyodbc->>SQL_Server: 发送 SQL 语