Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
连接到远程计算机中的数据库-python-SQL Server_Python_Sql Server - Fatal编程技术网

连接到远程计算机中的数据库-python-SQL Server

连接到远程计算机中的数据库-python-SQL Server,python,sql-server,Python,Sql Server,我有一个数据库服务器,可以通过远程桌面登录服务器机器来访问。这是我们手动执行的操作: 使用远程桌面从本地登录到计算机。 在连接的计算机中打开数据库客户端。 然后连接到数据库 现在,我需要使用python连接到这个数据库 我已经试过什么了?。。以下适用于我连接的所有数据库,无需远程连接 conn = pyodbc.connect("DRIVER={ODBC Driver 17 for SQL Server};SERVER=<server name>;database=<DB na

我有一个数据库服务器,可以通过远程桌面登录服务器机器来访问。这是我们手动执行的操作:

使用远程桌面从本地登录到计算机。 在连接的计算机中打开数据库客户端。 然后连接到数据库

现在,我需要使用python连接到这个数据库

我已经试过什么了?。。以下适用于我连接的所有数据库,无需远程连接

conn = pyodbc.connect("DRIVER={ODBC Driver 17 for SQL Server};SERVER=<server name>;database=<DB name>;UID=<user>;PWD=<pwd>")
conn=pyodbc.connect(“驱动程序={ODBC驱动程序17 for SQL Server};服务器=;数据库=;UID=;PWD=”)
错误:

pyodbc.OperationalError:('08001',u'[08001][Microsoft][ODBC驱动程序 17对于SQL Server]命名管道提供程序:无法打开到的连接 SQL Server[53](53)(SQLDriverConnect);[08001][Microsoft][ODBC SQL Server的驱动程序17]登录超时已过期(0);[08001] [Microsoft][ODBC驱动程序17 for SQL Server]与网络相关或 建立连接时发生特定于实例的错误 到SQL Server。找不到服务器或无法访问服务器。请检查 实例名称正确,并且如果SQL Server配置为允许 远程连接。有关详细信息,请参阅SQL Server联机丛书。 (53)"


是否可以从其他应用程序(包括Excel)连接到SQL Server

如果您不能,我将检查以下内容:

  • 远程访问服务器并打开SQL server配置管理器

    应该有一个标记为SQL Server网络配置的部分,其中有一个“的协议”条目。如果单击该条目,您将看到为数据库启用了哪些协议

  • 单击TCP/IP并选择属性。在IP地址下,列出的每个IP可能需要列出一个端口

  • 完成后,请确保在服务器上的防火墙中为入站和出站启用了端口

  • 当我管理一个SQL驱动的应用程序时,当出现其他连接问题(如防火墙问题或SQL Server浏览器或实例未运行)时,通常会出现命名管道错误


    如果这还不足以解决此问题,则在上还有大量其他选项。

    在python中使用以下代码之前,您必须按照本指南配置SQL server

    注意:1434是入站规则中的我的UDP端口

    conn = pyodbc.connect('DRIVER={SQL Server};SERVER = your_server_ipv4,1434;DATABASE=B_SQL;UID=sa;PWD=123456;')
    
    cursor = conn.cursor()
    #cursor.execute("DELETE FROM my_table") 
    for index, row in df.iterrows():
        #print(row)
        cursor.execute("INSERT INTO my_table([Name],[Volume]) values(?,?)", row['Name'], row['Volume']) 
    
    conn.commit()
    cursor.close()
    conn.close()
    

    它对我很有效

    [链接]我无法直接连接到它。我需要远程登录到一台计算机,然后在那里打开SQL Assistant客户端以手动访问它。在大多数情况下,两台服务器/计算机将位于同一网络中,并且可以通过IP相互通信。我有一个类似的设置,通过RDP访问SQL server,但由于它们位于同一个网络中,并且两者之间没有防火墙,因此我可以运行python脚本,通过其主机名访问SQL server,并远程运行查询