走出墙外:链接外网MSSQL数据库

1. 前言

MS SQL Server是Microsoft公司的一款关系型数据库管理系统,常被用于企业级应用开发。在某些场合下,我们需要从外网连接到墙外的MS SQL Server数据库实例进行数据交互。本文将介绍如何走出墙外,链接外网MSSQL数据库。

2. 配置数据库服务器

2.1 开启数据库TCP/IP协议

首先,我们需要确认数据库连接协议是否开启。请打开MS SQL Server Management Studio,在左下角点击“SQL Server Configuration Manager”。

SQL Server Configuration Manager

在“SQL Server Configuration Manager”窗口中,点击“SQL Server Network Configuration”条目。如果你要连接的MSSQL服务安装在默认实例上,则展开“Protocols for MSSQLSERVER”条目,如果是命名实例,则展开“Protocols for [MSSQLSERVER]”。

SQL Server Network Configuration

确保TCP/IP协议已经启用,如果没有启用,右键选择“Enable”选项即可。

Enable TCP/IP

2.2 配置数据库服务端口

然后,我们需要确认数据库服务使用的端口是否允许外网访问。在同一条目下找到“IP Address”子项,在右侧找到你希望开放的协议(IPv4或IPv6)。如果你想打开IPv4协议,请确保“TCP Dynamic Ports”值为空,且“TCP Port”值为1433。如果你想打开IPv6协议,请确保“TCP Dynamic Ports”值为空,且“TCP Port”值为1434。

Configure IP Address

3. 配置数据库客户端

3.1 安装ODBC驱动

为了使用外网连接到MSSQL服务器,我们需要安装ODBC驱动。这里我们选择官方推荐的“Microsoft ODBC Driver for SQL Server”。你可以在官网下载适合你的操作系统版本的ODBC Driver软件包进行安装。

Microsoft ODBC Driver for SQL Server

3.2 创建ODBC数据源

在Windows操作系统上,ODBC管理器是一个内置的工具,我们可以在其中创建新的ODBC数据源。

打开“ODBC数据源管理器”(32位或64位),选择“系统 DSN”或“用户 DSN”,然后点击“添加”按钮。

ODBC数据源管理器

在弹出的“创建新的数据源”窗口中,选择“SQL Server Native Client x.x”驱动程序,设置数据源名称、服务器名称(或IP地址)、选择验证方式和登录信息,最后选择默认数据库,点击“下一步”。

在此窗口中可以选择你要使用的默认数据库,建议在高安全性要求下禁用此项,并在代码中指定要连接的数据库名称。

创建新的数据源

在下一个窗口中,可以选择默认语言和应该建立的网络连接类型。选择TCP/IP连接类型,输入服务器端口号(默认情况下是1433)。

默认语言和网络连接

完成配置后,你可以在“ODBC数据源管理器”窗口中看到当前系统已经添加的ODBC数据源。

ODBC数据源

4. 编写程序连接数据库

现在我们已经完成了服务端和客户端的配置,接下来就可进行外部访问数据库了。下面是连接到MSSQL数据库的Python代码示例:

import pyodbc

cnxn = pyodbc.connect('DRIVER={SQL Server Native Client x.x};SERVER=hostname,port;DATABASE=mydatabase;UID=username;PWD=password')

cursor = cnxn.cursor()

cursor.execute('SELECT TOP 10 * FROM mytable')

for row in cursor:

print(row)

这里需要注意:

1. replace中相应的参数替换为你事先配置好的相应参数。

2. 如果需要使用Windows集成身份验证模式登录,请替换给定的用户ID和密码为你的计算机域等同于登录名和密码。

3. 在登录后,你需要指定要连接到的数据库。如果你在此处指定了一个默认数据库,你可以在查询中不使用“USE”命令连接到其它数据库。如果没有指定默认数据库,则需要在查询中使用“USE”命令连接到要访问的数据库。

5. 总结

在本文中,我们介绍了如何从外部访问墙外的MSSQL数据库实例。我们需要在数据库服务器上开放TCP/IP协议,并指定要使用的服务器端口。在客户端计算机上,需要安装官方ODBC驱动,然后创建ODBC数据源。最后,在程序中指定ODBC数据源名称,即可连接及操作数据库。

数据库标签