【问题标题】:In Jupyter notebooks, how to connect to MS SQL with a different Windows user在 Jupyter 笔记本中,如何使用不同的 Windows 用户连接到 MS SQL
【发布时间】:2022-07-19 12:37:41
【问题描述】:

我拥有对 MS SQL 数据库的选择访问权限,我想将数据提取到在 Jupyter 笔记本中运行的 Pandas 数据框中。由于我无法控制的原因,我可以从其他用户访问数据库。如何在连接到当前用户帐户时从 Jupyter 查询数据库?

【问题讨论】:

    标签: python sql-server pandas windows jupyter-notebook


    【解决方案1】:

    你可以这样做:

    1. 需要为计算机中的所有用户安装 Python。 !非常重要

    2. 安装 Visual C++ 构建工具 Microsoft C++ 构建工具 - Visual Studio

    3. 为计算机中所有用户都可以访问的 virtualenv 创建一个目录,例如: mkdir C:\virtualenv

    4. 复制命令提示符并粘贴到 virtualenv 目录中。 来自:C:\Users\YOURUSERNAME\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\System Tools\Command Prompt 到:C:\virtualenv\命令提示符

    5. 以其他用户身份运行命令提示符(按 shift + 右键单击​​)并使用 YOURDOMAIN 登录。 用户名:YOURUSERNAME@YOURDOMAIN 或 YOURDOMAIN\YOURUSERNAME 密码:你的密码

    6. cd C:\virtualenv

    7. 创建虚拟环境: python -m venv .

    8. 连接到虚拟环境。 脚本\激活

    9. 安装依赖 pip install --upgrade jupyter pyodbc sqlalchemy pandas pip

    10. 为用户创建一个 Jupyter 配置文件。 jupyter notebook --generate-config

    11. 关闭命令提示符。

    12. 右键单击命令提示符快捷方式,然后选择属性。

    13. 清除 Start in 中的值并将其留空,并将 Target 值替换为: 目标:%windir%\system32\runas.exe /user:YOURUSERNAME@DOMAIN /netonly “CMD /k "cd C:\virtualenv && Scripts\activate && jupyter notebook”" **可选:您可以添加 /savecred(在/用户之后),它会记住密码。出于安全原因,您不应这样做。

    14. 双击命令提示符运行 Jupyter。

    15. 创建一个笔记本以连接到您的 SQL 数据库并将表下载到 Pandas 数据框中:

      导入操作系统 导入pyodbc 将 sqlalchemy 导入为数据库 将熊猫导入为 pd

      windomain = os.environ['userdomain']

      如果 windomain == “YOURDOMAIN”: 服务器 = '你的服务器' 数据库 = 'YOUDATABASE' 驱动程序 = “{SQL Server}” # 无需输入用户名或密码。 连接=“驱动程序=”+驱动程序+“;服务器=”+ 服务器+“;数据库=”+数据库+ “;Trusted_Connection=是” engine = db.create_engine(“mssql+pyodbc:///?odbc_connect={}”.format(connect)) 别的: print(“以其他用户身份打开。”)

      df = pd.read_sql( """ 选择顶部(100)* 来自 [您的数据库] """, con=引擎, )

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-08-13
      • 2022-12-17
      • 1970-01-01
      • 2021-02-16
      • 2017-09-24
      • 1970-01-01
      • 2022-12-30
      相关资源
      最近更新 更多