以上ip如果有端口呢?
如果 SQL Server 使用了非默认端口,你需要在连接字符串中显式指定端口号。默认情况下,SQL Server 通常使用端口 1433,但如果你的实例配置了不同的端口,你需要在连接字符串中指定。
以下是如何在 pyodbc
的连接字符串中指定端口的示例:
import pyodbc
# 设置连接参数,包括端口号
server = 'your_server_name,port_number' # 使用逗号分隔服务器名称和端口号
database = 'your_database_name' # 数据库名称
username = 'your_username' # 用户名
password = 'your_password' # 密码
# 定义连接字符串
connection_string = (
'DRIVER={ODBC Driver 17 for SQL Server};'
f'SERVER={server};'
f'DATABASE={database};'
f'UID={username};'
f'PWD={password};'
)
try:
# 连接到 SQL Server
connection = pyodbc.connect(connection_string)
print("已成功连接到 SQL Server。")
# 创建一个 cursor 对象来执行 SQL 语句
cursor = connection.cursor()
# 执行 SQL 查询
cursor.execute("SELECT @@VERSION;")
# 获取查询结果
row = cursor.fetchone()
while row:
print(row)
row = cursor.fetchone()
# 关闭 cursor 和连接
cursor.close()
connection.close()
except Exception as e:
print(f"连接或操作过程中发生错误: {e}")
说明
服务器和端口结合:在
SERVER
参数中以逗号
来分隔主机地址和端口号。这是 SQL Server 连接字符串的格式要求。示例:假设 SQL Server 在主机
192.168.1.100
上运行,并且监听在端口1435
,此时server
值应为192.168.1.100,1435
。
通过这种方式,你可以在连接字符串中指定 SQL Server 实例的端口,确保能够正确连接到非默认端口上的 SQL Server。