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.
Gebruik de opdracht
docker exec -it
voor het starten van een interactieve bash-shell in de container die wordt uitgevoerd. In het volgende voorbeelde69e056c702d
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
ofe69
, in plaats van de volledige id.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>'
Wanneer u klaar bent met sqlcmd, typt
exit
u .Wanneer u klaar bent met de interactieve opdrachtprompt, typt
exit
u . 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.121
en 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.