Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Vonatkozik a következőkre: SQL Server 2019 (15.x) és későbbi verziók
Azure SQL Managed Instance
Megtudhatja, hogyan használhat visszacsatolási kapcsolatot a Machine Learning Services szolgáltatással az SQL Serverhez való csatlakozáshoz ODBC-n keresztül, hogy adatokat olvasson vagy írjon az sp_execute_external_script-ból végrehajtott Python- vagy R-szkriptből. Ezt akkor használhatja, ha az InputDataSet és Az OutputDataSet argumentumai sp_execute_external_script nem használhatók.
Csatlakozási karakterlánc
A visszacsatolási kapcsolat létrehozásához megfelelő kapcsolati sztringet kell használnia. A gyakori kötelező argumentumok az ODBC-illesztő neve, a kiszolgáló címe és az adatbázis neve.
Windows alatti kapcsolati lánc
A Windows SQL Serveren történő hitelesítéshez a Python- vagy R-szkript a Trusted_Connection kapcsolati sztring attribútumot használhatja a hitelesítéshez ugyanazzal a felhasználóval, aki a sp_execute_external_script futtatta.
Íme egy példa a loopback connection string-re a Windows rendszeren:
"Driver=SQL Server;Server=.;Database=nameOfDatabase;Trusted_Connection=Yes;"
Kapcsolati karakterlánc Linuxon
A Linuxon futó SQL Serveren történő hitelesítéshez a Python- vagy R-szkriptnek az ODBC-illesztő ClientCertificate és ClientKey attribútumait kell használnia a hitelesítéshez ugyanazzal a felhasználóval, aki végrehajtotta sp_execute_external_script. Ehhez a legújabb ODBC-illesztőprogram 17.4.1.1-es verziójára van szükség.
Íme egy példa a loopback kapcsolati karakterlánc példája Linuxon:
"Driver=ODBC Driver 17 for SQL Server;Server=fe80::8012:3df5:0:5db1%eth0;Database=nameOfDatabase;ClientCertificate=file:/var/opt/mssql-extensibility/data/baeaac72-60b3-4fae-acfd-c50eff5d34a2/sqlsatellitecert.pem;ClientKey=file:/var/opt/mssql-extensibility/data/baeaac72-60b3-4fae-acfd-c50eff5d34a2/sqlsatellitekey.pem;TrustServerCertificate=Yes;Trusted_Connection=no;Encrypt=Yes"
A kiszolgáló címe, az ügyféltanúsítvány-fájl helye és az ügyfélkulcsfájl helye mindegyikre sp_execute_external_script egyedi, és a Python api rx_get_sql_loopback_connection_string() vagy az R-hez készült rxGetSqlLoopbackConnectionString() használatával érhető el.
A kapcsolati sztring attribútumokkal kapcsolatos további információkért tekintse meg az SQL Serverhez készült Microsoft ODBC-illesztőprogram DSN- és kapcsolati sztring-kulcsszavait és attribútumait .
Az Azure SQL-felügyelt példány kapcsolati karakterlánca
A felügyelt Azure SQL-példány kapcsolati sztringjének létrehozásához tekintse meg a következő szakaszokban szereplő példákat. A visszacsatolási kapcsolatok ODBC-illesztőjeként használja az SQL Server 11 ODBC-illesztőjét .
Kapcsolati sztring létrehozása a Pythonhoz készült revoscalepy használatával
A revoscalepy API rx_get_sql_loopback_connection_string() használatával megfelelő kapcsolati sztringet hozhat létre egy Python-szkript visszacsatolási kapcsolatához.
A következő argumentumokat fogadja el:
| Argument | Description |
|---|---|
| name_of_database | Annak az adatbázisnak a neve, amelyhez a kapcsolatot létre kell hozni |
| odbc_driver | Az odbc-illesztő neve |
Példák
Példa egy SQL Server-re Windows alatt:
EXECUTE sp_execute_external_script
@language = N'Python',
@script = N'
from revoscalepy import rx_get_sql_loopback_connection_string, RxSqlServerData, rx_data_step
loopback_connection_string = rx_get_sql_loopback_connection_string(odbc_driver="SQL Server", name_of_database="DBName")
print("Connection String:{0}".format(loopback_connection_string))
data_set = RxSqlServerData(sql_query = "select col1, col2 from tableName",
connection_string = loopback_connection_string)
OutputDataSet = rx_data_step(data_set)
'
WITH RESULT SETS ((col1 int, col2 int))
GO
SQL Server példája Linuxon:
EXECUTE sp_execute_external_script
@language = N'Python',
@script = N'
from revoscalepy import rx_get_sql_loopback_connection_string, RxSqlServerData, rx_data_step
loopback_connection_string = rx_get_sql_loopback_connection_string(odbc_driver="ODBC Driver 17 for SQL Server",
name_of_database="DBName")
print("Loopback Connection String:{0}".format(loopback_connection_string))
data_set = RxSqlServerData(sql_query = "select col1, col2 from tableName",
connection_string = loopback_connection_string)
OutputDataSet = rx_data_step(data_set)
'
WITH RESULT SETS ((col1 int, col2 int))
GO
Azure SQL Managed Instance példa:
EXECUTE sp_execute_external_script
@language = N'Python',
@script = N'
from revoscalepy import rx_get_sql_loopback_connection_string, RxSqlServerData, rx_data_step
loopback_connection_string = rx_get_sql_loopback_connection_string(odbc_driver="ODBC Driver 11 for SQL Server", name_of_database="DBName")
print("Connection String:{0}".format(loopback_connection_string))
data_set = RxSqlServerData(sql_query = "select col1, col2 from tableName",
connection_string = loopback_connection_string)
OutputDataSet = rx_data_step(data_set)
'
WITH RESULT SETS ((col1 int, col2 int))
GO
Kapcsolati sztring létrehozása az R-hez készült RevoScaleR használatával
A RevoScaleR api rxGetSqlLoopbackConnectionString() használatával létrehozhat egy megfelelő kapcsolati sztringet a visszacsatolási kapcsolathoz egy R-szkriptben.
A következő argumentumokat fogadja el:
| Argument | Description |
|---|---|
| adatbázisNeve | Annak az adatbázisnak a neve, amelyhez a kapcsolatot létre kell hozni |
| odbcDriver | Az ODBC-illesztő neve |
Példák
Példa a Windows operációs rendszeren futó SQL Serverre:
EXECUTE sp_execute_external_script
@language = N'R',
@script = N'
loopbackConnectionString <- rxGetSqlLoopbackConnectionString(nameOfDatabase="DBName", odbcDriver ="SQL Server")
print(paste("Connection String:", loopbackConnectionString))
dataSet <- RxSqlServerData(sqlQuery = "select col1, col2 from tableName",
connectionString = loopbackConnectionString)
OutputDataSet <- rxDataStep(dataSet)
'
WITH RESULT SETS ((col1 int, col2 int))
GO
Példa linuxos SQL Serverre:
EXECUTE sp_execute_external_script
@language = N'R',
@script = N'
loopbackConnectionString <- rxGetSqlLoopbackConnectionString(nameOfDatabase="DBName",
odbcDriver ="ODBC Driver 17 for SQL Server")
print(paste("Connection String:", loopbackConnectionString))
dataSet <- RxSqlServerData(sqlQuery = "select col1, col2 from tableName",
connectionString = loopbackConnectionString)
OutputDataSet <- rxDataStep(dataSet)
'
WITH RESULT SETS ((col1 int, col2 int))
GO
Példa az Azure SQL Managed Instance-ra:
EXECUTE sp_execute_external_script
@language = N'R',
@script = N'
loopbackConnectionString <- rxGetSqlLoopbackConnectionString(nameOfDatabase="DBName", odbcDriver ="ODBC Driver 11 for SQL Server")
print(paste("Connection String:", loopbackConnectionString))
dataSet <- RxSqlServerData(sqlQuery = "select col1, col2 from tableName",
connectionString = loopbackConnectionString)
OutputDataSet <- rxDataStep(dataSet)
'
WITH RESULT SETS ((col1 int, col2 int))
GO