gpt4 book ai didi

python - 如何从 Mac 连接到虚拟机上的本地数据库? (平行线)

转载 作者:行者123 更新时间:2023-11-29 02:38:51 26 4
gpt4 key购买 nike

我正在我的 Mac 操作系统上的 Jupyter notebook 上编写一个 python 脚本,我正在尝试连接到一个本地数据库,该数据库位于我的 Parallels Windows 操作系统上,该操作系统从我的外部硬盘驱动器运行。

我试过下面的代码:

import pyodbc
from sqlalchemy import create_engine
import urllib
import json
import requests
import pandas as pd
import codecs
import datetime
import pytz
import mysql.connector
from mysql.connector import Error

params = 'DRIVER={ODBC Driver 13 for SQL Server};' 'SERVER=local;' 'DATABASE=Totepro;'

params = urllib.parse.quote_plus(params)
db = create_engine('mssql+pyodbc:///?odbc_connect=%s' % params)

def get_new_race_data():
sql_get_data = '''
SELECT * FROM RaceRowReport
WHERE RaceKey = cur_race_key
'''

new_race_data = pd.read_sql_query(sql_get_data, db)
return new_race_data

get_new_race_data()

这是输出:


OperationalError: (pyodbc.OperationalError) ('HYT00', '[HYT00] [Microsoft][ODBC Driver 13 for SQL Server]Login timeout expired (0) (SQLDriverConnect)')
(Background on this error at: http://sqlalche.me/e/e3q8)

在调整连接字符串方面,我也尝试过以下方法:

SERVER=10.211.55.3

但是我还是遇到了同样的问题。我已经从 Windows 关闭了防火墙,但仍然没有。..

然后我尝试了:

import mysql.connector
from mysql.connector import Error
connection = mysql.connector.connect(host='10.211.55.3',
database='Totepro')

现在我发现自己遇到了以下错误:

ProgrammingError: 1045 (28000): Access denied for user ''@'localmac' (using password: NO)

任何帮助都会有所帮助。

谢谢

最佳答案

我假设您正在尝试连接到 MS SQL Server,尽管您的问题包含相互矛盾的信息 - 它的一部分是指 MSSQL,而其他部分是指 MySQL。

首先,您需要与 guest 建立网络连接。 Access Parallels Windows localhost from Mac可能会有所帮助。我猜想当您尝试使用 SERVER=local 时,您实际上并没有将 local 映射到 guest VM。一旦您确保 guest VM 使用“共享网络”并找到其公共(public) IP 地址(从现在起称为 YOUR_VM_IP_ADDRESS),检查您是否可以 ping 它

ping YOUR_VM_IP_ADDRESS

然后检查您是否可以访问 SQL Server 的端口(默认为 1433),使用

nc -v YOUR_VM_IP_ADDRESS 1433
# -- or --
telnet YOUR_VM_IP_ADDRESS 1433
# shouldn't say "connection refused"

确保您可以使用 sqlcmd 进行连接(请注意,从 macOS 计算机连接时,Windows 身份验证将不起作用,您必须使用登录名/密码):

sqlcmd -S YOUR_VM_IP_ADDRESS -U username -P password

上述测试成功后,您就有机会得到正确的连接字符串并建立 SQLAlchemy 连接。 This answer可能会有所帮助。

关于python - 如何从 Mac 连接到虚拟机上的本地数据库? (平行线),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57410684/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com