Share via


Azure SQL Edge Verbinding maken en er query's op uitvoeren

Belangrijk

Azure SQL Edge biedt geen ondersteuning meer voor het ARM64-platform.

Nadat u een container hebt geïmplementeerd in Azure SQL Edge, kunt u vanaf een van de volgende locaties verbinding maken met de database-engine:

  • Binnen de container
  • Vanuit een andere Docker-container die op dezelfde host wordt uitgevoerd
  • Op de hostmachine
  • Vanaf een andere clientcomputer in het netwerk

Hulpprogramma's om verbinding te maken met Azure SQL Edge

U kunt vanuit een van deze veelgebruikte hulpprogramma's verbinding maken met een exemplaar van Azure SQL Edge:

  • sqlcmd: sqlcmd-clienthulpprogramma's zijn al opgenomen in de containerinstallatiekopieën van Azure SQL Edge. Als u een actieve container koppelt met een interactieve bash-shell, kunt u de hulpprogramma's lokaal uitvoeren. SQL-clienthulpprogramma's zijn niet beschikbaar op het ARM64-platform.
  • SQL Server Management Studio
  • Azure Data Studio
  • Visual Studio Code

Als u vanaf een netwerkcomputer verbinding wilt maken met een Azure SQL Edge-database-engine, hebt u het volgende nodig:

  • IP-adres of netwerknaam van de hostcomputer: dit is de hostcomputer waarop de Azure SQL Edge-container wordt uitgevoerd.

  • Toewijzing van azure SQL Edge-containerhostpoort: dit is de toewijzing voor de Docker-containerpoort naar een poort op de host. Binnen de container wordt Azure SQL Edge altijd toegewezen aan poort 1433. U kunt dit desgewenst wijzigen. Als u het poortnummer wilt wijzigen, werkt u de opties voor het maken van containers voor de Azure SQL Edge-module in Azure IoT Edge bij. In het volgende voorbeeld wordt poort 1433 op de container toegewezen aan poort 1600 op de host.

    {
        "PortBindings": {
          "1433/tcp": [
            {
              "HostPort": "1600"
            }
          ]
        }
    }
    
  • SA-wachtwoord voor het Azure SQL Edge-exemplaar: dit is de waarde die is opgegeven voor de omgevingsvariabele tijdens de SA_PASSWORD implementatie van Azure SQL Edge.

Verbinding maken vanuit de container naar de database-engine

De opdrachtregelprogramma's van SQL Server zijn opgenomen in de containerinstallatiekopie van Azure SQL Edge. Als u een bijlage aan de container koppelt met een interactieve opdrachtprompt, kunt u de hulpprogramma's lokaal uitvoeren. SQL-clienthulpprogramma's zijn niet beschikbaar op het ARM64-platform.

  1. Gebruik de opdracht docker exec -it voor het starten van een interactieve bash-shell in de container die wordt uitgevoerd. In het volgende voorbeeld e69e056c702d is de container-id.

    docker exec -it e69e056c702d /bin/bash
    

    Fooi

    U hoeft niet altijd de volledige container-id op te geven. U hoeft alleen voldoende tekens op te geven om deze uniek te identificeren. In dit voorbeeld kan het dus voldoende zijn om te gebruiken e6 of e69, in plaats van de volledige id.

  2. Wanneer u zich in de container bevinden, maakt u lokaal verbinding met sqlcmd. sqlcmd bevindt zich niet standaard in het pad, dus u moet het volledige pad opgeven.

    /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P '<YourPassword>'
    
  3. Wanneer u klaar bent met sqlcmd, typt exitu .

  4. Wanneer u klaar bent met de interactieve opdrachtprompt, typt exitu . Uw container blijft actief nadat u de interactieve bash-shell hebt afgesloten.

Verbinding maken naar Azure SQL Edge vanuit een andere container op dezelfde host

Omdat twee containers die op dezelfde host worden uitgevoerd zich in hetzelfde Docker-netwerk bevinden, kunt u deze eenvoudig openen met behulp van de containernaam en het poortadres voor de service. Als u bijvoorbeeld verbinding maakt met het exemplaar van Azure SQL Edge vanuit een andere Python-module (container) op dezelfde host, kunt u een verbindingsreeks zoals hieronder gebruiken. (In dit voorbeeld wordt ervan uitgegaan dat Azure SQL Edge is geconfigureerd om te luisteren op de standaardpoort.)

import pyodbc
server = 'MySQLEdgeContainer' # Replace this with the actual name of your SQL Edge Docker container
username = 'sa' # SQL Server username
password = 'MyStrongestP@ssword' # Replace this with the actual SA password from your deployment
database = 'MyEdgeDatabase' # Replace this with the actual database name from your deployment. If you do not have a database created, you can use Master database.
db_connection_string = "Driver={ODBC Driver 17 for SQL Server};Server=" + server + ";Database=" + database + ";UID=" + username + ";PWD=" + password + ";"
conn = pyodbc.connect(db_connection_string, autocommit=True)

Verbinding maken vanaf een andere netwerkcomputer naar Azure SQL Edge

Mogelijk wilt u verbinding maken met het exemplaar van Azure SQL Edge vanaf een andere computer in het netwerk. Gebruik hiervoor het IP-adres van de Docker-host en de hostpoort waaraan de Azure SQL Edge-container is toegewezen. Als het IP-adres van de Docker-host bijvoorbeeld is 192.168.2.121en de Azure SQL Edge-container is toegewezen aan hostpoort 1600, is het serveradres voor het exemplaar van Azure SQL Edge.192.168.2.121,1600 Het bijgewerkte Python-script is:

import pyodbc
server = '192.168.2.121,1600' # Replace this with the actual name or IP address of your SQL Edge Docker container
username = 'sa' # SQL Server username
password = 'MyStrongestP@ssword' # Replace this with the actual SA password from your deployment
database = 'MyEdgeDatabase' # Replace this with the actual database name from your deployment. If you do not have a database created, you can use Master database.
db_connection_string = "Driver={ODBC Driver 17 for SQL Server};Server=" + server + ";Database=" + database + ";UID=" + username + ";PWD=" + password + ";"
conn = pyodbc.connect(db_connection_string, autocommit=True)

Als u verbinding wilt maken met een exemplaar van Azure SQL Edge met behulp van SQL Server Management Studio die wordt uitgevoerd op een Windows-computer, raadpleegt u SQL Server Management Studio.

Zie Visual Studio Code als u verbinding wilt maken met een exemplaar van Azure SQL Edge met behulp van Visual Studio Code op een Windows-, macOS- of Linux-computer.

Als u verbinding wilt maken met een exemplaar van Azure SQL Edge met behulp van Azure Data Studio op een Windows-, macOS- of Linux-computer, raadpleegt u Azure Data Studio.

Volgende stappen