连接到 Azure Synapse 中的 SQL 池

连接到 Azure Synapse 中的 SQL 池。

重要

尽可能使用 Microsoft Entra 身份验证。 有关详细信息,请参阅结合使用 Microsoft Entra 身份验证与 Synapse SQL 进行身份验证

查找服务器名称

在下面的示例中,服务器名称为 sqlpoolservername.database.chinacloudapi.cn。 若要查找完全限定的服务器名称,请执行以下操作:

  1. 转到 Azure 门户

  2. 选择“Azure Synapse Analytics”。

  3. 选择要连接到的 SQL 池。

  4. 找到完整的服务器名称。

    完整服务器名称

支持的驱动程序和连接字符串

SQL 池适用于各种驱动程序。 选择以下任一驱动程序以获取最新的文档和版本信息:ADO.NETODBCPHPJDBC

可以为驱动程序自动生成连接字符串。 从上一个列表中选择驱动程序,然后选择“显示数据库连接字符串”。

注意

请考虑将连接超时值设置为 300 秒,以便连接可以经受住短时间内不可用。

下面是常用驱动程序的连接字符串示例:

ADO.NET 连接字符串示例

此简单示例使用了 SQL 身份验证,但建议通过 ADO.NET 进行更加安全的 Microsoft Entra 身份验证

Server=tcp:{your_server}.database.chinacloudapi.cn,1433;Database={your_database};User ID={your_user_name};Password={your_password_here};Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;

ODBC 连接字符串示例

此简单示例使用了 SQL 身份验证,但建议通过 ODBC 进行更加安全的 Microsoft Entra 身份验证

Driver={SQL Server Native Client 11.0};Server=tcp:{your_server}.database.chinacloudapi.cn,1433;Database={your_database};Uid={your_user_name};Pwd={your_password_here};Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30;

PHP 连接字符串示例

此简单示例使用了 SQL 身份验证,但建议通过 PHP 进行更加安全的 Microsoft Entra 身份验证

Server: {your_server}.database.chinacloudapi.cn,1433 \r\nSQL Database: {your_database}\r\nUser Name: {your_user_name}\r\n\r\nPHP Data Objects(PDO) Sample Code:\r\n\r\ntry {\r\n   $conn = new PDO ( \"sqlsrv:server = tcp:{your_server}.database.chinacloudapi.cn,1433; Database = {your_database}\", \"{your_user_name}\", \"{your_password_here}\");\r\n    $conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );\r\n}\r\ncatch ( PDOException $e ) {\r\n   print( \"Error connecting to SQL Server.\" );\r\n   die(print_r($e));\r\n}\r\n\rSQL Server Extension Sample Code:\r\n\r\n$connectionInfo = array(\"UID\" => \"{your_user_name}\", \"pwd\" => \"{your_password_here}\", \"Database\" => \"{your_database}\", \"LoginTimeout\" => 30, \"Encrypt\" => 1, \"TrustServerCertificate\" => 0);\r\n$serverName = \"tcp:{your_server}.database.chinacloudapi.cn,1433\";\r\n$conn = sqlsrv_connect($serverName, $connectionInfo);

JDBC 连接字符串示例

此简单示例使用了 SQL 身份验证,但建议通过 JDBC 进行更加安全的 Microsoft Entra 身份验证

jdbc:sqlserver://yourserver.database.chinacloudapi.cn:1433;database=yourdatabase;user={your_user_name};password={your_password_here};encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.chinacloudapi.cn;loginTimeout=30;

连接设置

SQL 池在连接和创建对象期间会标准化某些设置。 这些设置不能重写。 它们包括:

SQL 池设置
ANSI_NULLS ON
QUOTED_IDENTIFIERS ON
DATEFORMAT mdy
DATEFIRST 7

若要使用 Visual Studio 进行连接和查询,请参阅使用 Visual Studio 进行查询。 若要详细了解身份验证选项,请参阅向 Azure Synapse Analytics 进行身份验证