数据库连接
本节介绍如何使用 SnapDevelop IDE 中的 数据库服务器资源管理器 来管理数据库连接和查询数据,例如查看数据库中的数据、新建和执行 SQL 语句、以及从数据库表创建 Model。本教程末尾的 数据库连接设置 列出了此功能支持的数据库以及相关的连接设置。
管理数据库连接
创建数据库连接
要执行数据库查询操作,首先需要建立数据库连接。
想要创建数据库连接:
-
选择顶部菜单栏上的 视图,然后选择 数据库服务器资源管理器。
-
在 数据库服务器资源管理器 中,点击 连接到数据库 图标。
-
在打开的 新建连接 对话框中,从 数据提供程序 下拉列表中选择一个数据库类型,然后为该数据库类型配置数据库连接信息。
数据库的基本连接选项以及高级连接选项会由于数据库类型而有所不同。具体请参阅 数据库连接设置。
-
输入连接信息后,点击 测试连接 以检查连接状态。如连接成功,点击 确定 保存该数据库连接。
-
该数据库连接将会显示在 数据库服务器资源管理器 中。
您现在可以在 数据库服务器资源管理器 中访问该数据库中的数据库对象,包括表、视图、存储过程、函数、以及触发器。
更改数据库连接
成功创建数据库连接后,您可以通过右键单击该数据库连接然后选择相应的菜单来刷新、删除、修改数据库连接。
-
刷新 -- 成功创建数据库连接后,可能会对数据库进行一些修改。在这种情况下,您可以选择 刷新 来更新数据库。
-
删除 -- 如果要删除数据库连接,可以右键单击该数据库连接,然后选择 删除。
-
修改连接 -- 如果要修改某些数据库连接属性,可以右键单击该数据库连接,然后选择 修改连接。数据库连接 页面将打开。
操作数据库对象
成功创建数据库连接后,您可以在 数据库服务器资源管理器 中操作数据库中的数据库对象,包括表、视图、存储过程、函数、以及触发器。您可以右键点击对象然后通过弹出菜单来操作该对象。例如:右键点击一个表对象后,您可以使用以下右键菜单。
-
复制名称 -- 将所选对象的名称复制到粘贴板中,例如:[dbo].[AWBuildVersion]。这样您在编写 SQL 语句时就不必手动输入名称。
-
刷新 -- 如果只对数据库的某个对象进行了一些修改,您可以刷新该对象查看修改,而不必刷新整个数据库。当然,您也可以选择刷新所有表对象(或视图、或存储过程、或函数、或触发器),或整个数据库。
-
新建 -- 查询数据。默认提供以下三种常用查询:全选、查询前100条、根据键查询。详情请参考下一小节。
-
新建查询 -- 编写 SQL 查询语句。详情请参考下一小节。
-
显示表数据 -- 查看表中的所有数据(列及行)。
-
显示表数据模式 -- 查看表中的所有数据模式(Schema)。
-
SqlModelMapper -- 将打开生成 SqlModelMapper 类型 Model 的窗口。配置完毕后,点击 确定 将根据数据表生成 SqlModelMapper 类型 Model。
常用 SQL 查询
在数据库树视图中右键点击一个表或视图,然后选择 新建,可以选择以下三个常用 SQL 查询:全选、查询前100条、根据键查询。
-
全选 -- SQL 查询编辑器将自动生成对应的 SQL 语句。点击 SQL 查询编辑器的 执行 图标将查询并返回当前选中的表或视图中的所有数据。下面是 SQL 语句示例:
SELECT * FROM [humanresources].[employee];
-
查询前100条 -- SQL 查询编辑器将自动生成对应的 SQL 语句。点击 SQL 查询编辑器的 执行 图标将查询并返回当前选中的表或视图中的前 100 行数据。下面是 SQL 语句示例:
SELECT TOP 100 * FROM [humanresources].[employee];
-
根据键查询 -- SQL 查询编辑器将自动生成对应的 SQL 语句。点击 SQL 查询编辑器的 执行 图标将根据指定的主键值,查询并返回当前选中的表或视图中对应的数据行。下面是 SQL 语句示例:
SELECT * FROM [humanresources].[employee] WHERE businessentityid = 1;
新建 SQL 查询
如果以上提供的常用 SQL 查询语句无法满足您的需求,您可以自己编写 SQL 查询语句。
在数据库树视图中右键点击一个表或视图,然后选择 新建查询,在 SQL 查询编辑器中输入想要查询的 SQL 语句。
或者选择 新建,然后选择一种查询,在自动生成的 SQL 语句中直接进行修改。
查看结果
点击 执行 图标将依次执行 SQL 查询编辑器中的所有 SQL 语句。
如果您只需执行其中一条 SQL 语句,请用鼠标选中该语句,然后再点击 执行 图标。
SQL 语句的执行结果将在编辑器底部显示。您可以选择以不同的格式来查看 SQL 查询执行结果、拆分结果面板、查看查询消息等。
您可以选择以网格、文本和文件三种格式来查看查询结果。
-
以 Grid 格式查看结果
以网格格式显示查询结果,这是默认格式。
-
以 Text 格式查看结果
以文本格式显示查询结果。
-
以 File 形式查看结果
以文件格式显示查询结果。如果选择这种方式显示查询结果,则需要将结果导出到外部文件。
分栏展示
如果 SQL 查询包含多个 SQL 语句,您可以将结果面板拆分为左右两栏以便可以水平并排显示查询结果。如下图所示,启用 将结果面板分栏展示(左右) 选项,再点击 执行 图标,查询结果将水平并排显示为左右两栏(而不是垂直排列显示)。
查看消息
执行 SQL 语句后,消息 选项卡中会显示一条消息,显示查询执行的状态。
查看数据模式
您可以在 数据模式 选项卡中查看 SQL 语句中涉及的表的关系模式集合 (schema)。
操作 MongoDB 数据库
由于 MongoDB 数据库不直接支持 SQL 语句,因此 SnapDevelop 为 MongoDB 提供了单独的增删改查功能。
MongoDB 把表 (table) 称之为集合 (collection),把行 (row) 称之为文档 (document)。集合无需单独创建,在插入记录的同时,如果存在则插入数据到该集合中,如果不存在,则新建集合。
集群登陆
除了提供基本的单点登陆功能以外,SnapDevelop 还支持 MongoDB 数据库集群登陆的功能。
SnapDevelop 支持的是集群的一种(Replica Set),有一个主节点,一个或多个从节点。主节点写入数据,从节点对主节点中的数据进行同步。使用集群可提高 MongoDB 可用性,主从某个坏了,其它节点可继续工作。通过 读偏好 选项可以指定主从节点数据读取规则。
您可以通过以下连接方式登陆MongoDB数据库集群:
-
字符串连接登陆。例如:
mongodb://appeon:appeon@172.25.6.252:37017,172.25.6.252:37018,172.25.6.252:37019/sc_tms?replicaSet=cloud&readPreference=primary&serverSelectionTimeoutMS=5000&connectTimeoutMS=10000&authSource=admin&authMechanism=SCRAM-SHA-256
-
单独填写连接字段。例如:
172.25.6.252:37017,172.25.6.252:37018,172.25.6.252:37019
常规查询
在常规查询中,您需要手工输入查询语句。对于过滤、映射、和排序这三种查询,您还可以到 查询构建器 中通过选择字段、条件、值等来轻松创建查询,而不必手动输入查询语句。详情请看下一小节。
输入相关的语句后,您可以点击底部的 执行 按钮执行该语句,然后在 结果 面板中查看返回的数据结果。或者点击 重置 恢复默认状态。
筛选 -- 输入结果的筛选条件语句,例如:{"Quantity" : 31}
,将返回 Quantity 字段值为 31 的所有数据;{Quantity : "31", Address : "粤海街道111"}
,将返回 Quantity 字段值为 31 同时 Address 字段值为 "粤海街道111" 的所有数据。
映射 -- 输入某(些)列的显示语句,例如:{Quantity : 1, _id : 0}
表示 Quantity 字段显示,id 字段不显示。
排序 -- 输入结果的排序语句:1 为升序,-1 为降序。例如:{Quantity: 1}
,将按 Quantity 字段对结果进行升序排序;{CreatedDate: -1}
,将按 CreatedDate 字段对结果进行降序排序;{Quantity: 1, CreatedDate: -1}
首先按 Quantity 字段对结果进行升序排序然后按 CreatedDate 字段对结果进行降序排序。
跳过 -- 输入一个整数数字,表示在返回结果集之前跳过多少条数据。
限制 -- 输入一个整数数字,表示返回的结果集中包含的最大数据。
查询构建器
您在 常规查询 的输入框中手动输入的查询语句会自动同步设置到 查询构建器 中。您也可以在 查询构建器 中通过选择字段、条件、值等来轻松创建查询(目前只提供了过滤、映射、和排序这三种查询),而不必手动输入查询语句。点击 查询构建器 将显示详细的设置选项。指定相关的条件后,您可以点击底部的 执行 按钮执行该条件,然后在 结果 面板中查看返回的数据结果。
过滤 -- 指定结果的过滤条件,如下图所示。可以点击 添加 添加多个过滤条件,或者点击条件最后的减号图标来删除此条件。过滤条件创建后,可以通过选择其前面的复选框来决定该条件是否生效。当条件创建完毕(并且其前面的复选框为选中),常规查询 中的 筛选 输入框中会自动显示对应的语句。
映射 -- 指定某(些)列的显示条件,如下图所示。可以点击 添加 添加多个条件,或者点击条件最后的减号图标来删除此条件。条件创建后,可以通过选择其前面的复选框来决定该条件是否生效。当条件创建完毕(并且其前面的复选框为选中),常规查询 中的 映射 输入框中会自动显示对应的语句。
排序 -- 指定结果的排序条件,如下图所示。可以点击 添加 添加多个条件,或者点击条件最后的减号图标来删除此条件。条件创建后,可以通过选择其前面的复选框来决定该条件是否生效。当条件创建完毕(并且其前面的复选框为选中),常规查询 中的 排序 输入框中会自动显示对应的语句。
聚合管道
MongoDB 的聚合管道由一个或多个数据处理的阶段组成。在 SnapDevelop 中您可以通过创建聚合管道来处理数据。
点击 聚合管道 展开创建区域。
阶段默认从 1 开始。您可以选择一个操作符,例如:$addFields,然后双击当前行打开 编辑阶段 的窗口。在此窗口中,您可以输入具体的表达式来定义当前阶段所要执行的操作。
增删改数据
增加数据
-
点击 结果 窗口中的 添加文档 图标。
-
在打开的 添加 JSON 文档 窗口,输入要添加的数据。点击 保存。数据将会被保存到数据库中。可以回到 结果 窗口中查看新添加的数据(如没显示,点击 刷新)。
编辑数据
-
首先在 结果 窗口中把鼠标光标定位到要编辑的数据记录中。
-
然后点击 结果 窗口中的 编辑文档 图标。
-
在打开的 编辑 JSON 文档 窗口中修改数据。点击 保存。数据将会被更新及保存到数据库中。可以回到 结果 窗口中查看更新后的数据(如没显示,点击 刷新)。
删除数据
-
首先在 结果 窗口中把鼠标光标定位到要删除的数据记录中。
-
然后点击 结果 窗口中的 删除文档 图标。点击 确定 删除数据。 可以回到 结果 窗口中查看删除后的数据。
查看结果
点击 执行 按钮将执行当前页面中设置的条件和语句。
执行结果将在页面底部显示。您可以选择以不同的视图来查看执行结果、插入/编辑/删除数据(见上一小节)、导出结果等。
您可以选择以 JSON 视图、树视图、表格视图等三种格式来查看查询结果。
您可以点击 导出结果 图标,将整个集合、当前搜索结果、或当前选中文档导出为 JSON 或 CSV 文件。
附录:数据库连接设置
本附录解释了每个受支持数据库所需的各种数据库连接设置。有关支持的数据库版本,请参阅 SnapDevelop 安装指南。
Microsoft SQL Server
基础设置
属性 | 描述 |
---|---|
服务器名称 | 您想要连接的数据库所在服务器的IP地址 |
验证 | 指定验证方式 |
用户名 | 数据库服务器的登录用户名 |
密码 | 数据库服务器的登录密码 |
连接到数据库 | 指定数据库的名称,或附加一个数据库文件,或输入一个逻辑文件名称 |
高级设置
属性 | 子属性 | 描述 |
---|---|---|
Advanced | Multiple Active Result Sets | 当为 true 时,可以从一个连接返回和读取多个结果集。 |
Packet Size | 用于与 SQL Server 实例通信的网络数据包的大小(以字节为单位)。 | |
Transaction Binding | 指示在登记时连接到 System.Transactions 事务的绑定行为。 | |
Type System Version | 指示提供者将通过 DataReader 公开的服务器类型系统。 | |
Connection Resiliency | Connect Retry Count | 尝试恢复连接的次数。 |
Connect Retry Interval | 用于恢复连接的在尝试之间的延迟。 | |
Context | Application Name | 应用程序名称。 |
Workstation ID | 连接到 SQL Server 的工作站的名称。 | |
Initialization | Application Intent | 连接到服务器时声明的应用程序工作负载类型。 |
Current Language | SQL Server 语言记录名称。 | |
Connect Timeout | 如果为 true,则启用 .NET Framework 数据提供程序中的异步功能的使用。 | |
Command Timeout | 在终止尝试并产生错误之前等待连接到服务器的时间长度(以秒为单位)。 | |
Pooling | Enlist | 组件服务(或 MRS,如果您使用 Microsoft Windows NT)环境中的会话应在需要时自动登记在全局事务中。 |
Load Balance Timeout | 此连接在被销毁之前存在于池中的最短时间(以秒为单位)。 | |
Max Pool Size | 池中允许的最大连接数。 | |
Min Pool Size | 池中允许的最小连接数.。 | |
Pooling | 当为 true 时,会从适当的池中抽取连接对象,或者在必要时创建并添加到适当的池中。 | |
Pool Blocking Period | 定义连接池的阻塞期行为。 | |
Replication | Replication | 由 SQL Server 在复制中使用。 |
Source | AttachDbFilename | 可附加数据库的主文件名,包括完整路径名。 |
Data Source | 表示要连接的数据源的名称。 | |
Failover Partner | 充当故障转移伙伴的 SQL Server 实例的名称或网络地址。 | |
Initial Catalog | 数据源中初始目录或数据库的名称。 | |
Multi Subnet Failover | 如果您的应用程序连接到不同子网上的具有高可用性、灾难恢复 (AlwaysOn) 的可用性组 (AG),MultiSubnetFailover 为 Yes 时会配置 SqlConnection 以提供对(当前)活动服务器的更快检测和连接。 | |
User Instance | 指示是否将连接重定向以连接到在用户帐户下运行的 SQL Server 实例。 | |
Security | Authentication | 指定使用 SQL Server 进行身份认证的方法。 |
Column Encryption Setting | 连接上所有命令的默认列加密设置。 | |
Enclave Attestation URL | 指定 enclave 证明服务的终结点,该终结点将用于验证在 SQL Server 实例中为计算使用 Always Encrypted 加密的数据库列而配置的 enclave 是否有效和安全。 | |
Encrypt | 为 true 时,如果服务器安装了证书,则 SQL Server 对客户端和服务器之间发送的所有数据都使用 SSL 加密。 | |
Integrated Security | 连接是否为安全连接。 | |
Password | 表示连接数据源时使用的密码。 | |
Persist Security Info | 当为 false 时,如果连接处于打开状态或曾经处于打开状态,则不会将安全敏感信息(例如密码)作为连接的一部分返回。 | |
Trust Server Certificate | 当为 true(并且 encrypt=true)时,SQL Server 对客户端和服务器之间发送的所有数据使用 SSL 加密,而不验证服务器证书。 | |
User ID | 表示连接数据源时使用的用户 ID。 |
MySQL
基础设置
常规属性 | 描述 |
---|---|
主机 | 定义您的 MySQL 服务器和数据库 |
端口 | 表示主机总线适配器上的端口,它提供到控制器的物理连接并用于 I/O 操作。 |
用户名 | 服务器登录名。 |
密码 | 服务器登录密码。 |
选择或输入一个默认数据库名称 | 指定或选择一个要连接到 MySQL 数据源中的数据库的名称。 |
SSL 模式 | 连接的 SSL 属性。可用选项: Prefered:如果服务器支持则使用 SSL。 None:不使用 SSL。 Requied:始终使用 SSL。如果服务器不支持 SSL,则拒绝连接。不验证 CA 或主机名。 VerifyCA:始终使用 SSL。验证 CA 但容忍主机名不匹配。 VerifyFull:始终使用 SSL。验证 CA 和主机名。 |
SSL 私钥 | 用于建立加密连接的 PEM 格式的 SSL 密钥文件的名称。 |
SSL CA 证书 | 包含受信任的 TLS/SSL CA 列表的本地文件的路径。 |
SSL 证书 | 用于建立加密连接的 PEM 格式的 SSL 证书文件的名称。 |
高级属性
Property | Sub-property | Description |
---|---|---|
Advanced | Allow User Variables | 提供者是否希望用户变量出现在 SQL 中。 |
Allow Zero DateTime | 是否应该支持日期和时间为零值。 | |
Auto Enlist | 连接是否应自动登记在活动连接中(如果有)。 | |
BlobAsUTF8ExcludePattern | 匹配不应被视为 UTF-8 的列的模式。 | |
BlobAsUTF8IncludePattern | 匹配应被视为 UTF-8 的列的模式。 | |
Character Set | 此连接应使用的字符集。 | |
Check Parameters | 指示是否应根据服务器检查存储的例程参数。 | |
Command Interceptors | 可以拦截命令操作的拦截器列表。 | |
Convert Zero Datetime | 是否应将非法日期时间值转换为 DateTime.MinValue。 | |
Default Table Cache Age | 指定 TableDirect 结果应缓存多长时间(以秒为单位)。 | |
Exception Interceptors | 可以分类抛出 MySqlExceptions 的拦截器列表。 | |
Functions Return String | 是否应将所有服务器功能都视为返回字符串? | |
Ignore Prepare | 指示提供者忽略任何准备命令的尝试。 | |
Include Security Asserts | 包括安全断言以支持中等信任。 | |
Interactive Session | 是否应将本次会话视为互动式? | |
Old Guids | 将 binary(16) 列视为 Guids。 | |
Procedure Cache Size | 指示一次可以缓存多少个存储过程。当值为 0 时会有效地禁用过程缓存。 | |
Replication | 指示此连接是否使用 replicated servers。 | |
Respect Binary Flags | 是否应该尊重列 metadata 上的二进制标志。 | |
Sql Server Mode | 允许 SQL Server 语法。 Yes 值允许用 [] 而不是 `` 括起符号。这会导致性能下降,因此仅在必要时使用。 | |
Table Cache | 启用或禁用 TableDirect 命令的缓存。Yes 值启用缓存,而 No 值禁用它。 | |
Treat Blobs As UTF8 | 二进制 Blob 是否应该被视为 UTF-8。 | |
Treat Tiny As Boolean | 提供者是否应将 TINYINT(1) 列视为布尔值。 | |
Use Affected Rows | 返回的受影响行数是否应反映受影响的行而不是找到的行? | |
Use Performance Monitor | 表示应在执行期间更新性能计数器。 | |
Use Usage Advisor | 记录低效的数据库操作。 | |
Authentication | AllowPublicKeyRetrieval | 禁用 SSL 时允许从服务器检索 RSA 公钥。 |
Certificate File | PKCS#12 格式 (.pfx) 的证书文件或包含受信任 TLS/SSL CA 列表的本地文件的路径 (.pem)。 | |
Certificate Password | 证书文件密码。 | |
Certificate Store Location | 客户端证书的证书存储位置。 | |
Certificate Thumbprint | 证书指纹。可与 Certificate Store Location 参数一起使用,以唯一标识用于 SSL 身份验证的证书。 | |
Integrated Security | 连接到服务器时使用 Windows 身份验证。 | |
SSl Ca | 包含受信任的 TLS/SSL CA 列表的本地文件的路径。 | |
SSl Cert | 用于建立加密连接的 PEM 格式的 SSL 证书文件的名称。 | |
SSl Key | 用于建立加密连接的 PEM 格式的 SSL 密钥文件的名称。 | |
SSl Mode | 连接的 SSL 属性。 | |
Backwards Compatibility | Use Default Command Timeout For EF | 将 EFMySqlCommand 的命令超时强制设为“DefaultCommandTimeout”属性中提供的值。 |
Connection | Allow Batch | 允许在单个语句中执行多个 SQL 命令。 |
Allow Load Data Local Infile | 允许从文本文件中读取数据。 | |
Allow Load Local Infile In Path | 允许指定文件的安全路径用于读取和上传到服务器。 | |
Connect Timeout | 在终止尝试并产生错误之前等待连接到服务器的时间(以秒为单位)。 | |
Connection Protocol | 用于连接到 MySQL 的协议。 | |
Database | 指定最初使用的数据库。 | |
Default Command Timeout | 除非更改,否则 MySqlCommand 对象将使用的默认超时。 | |
DNS SRV | 连接应解析 DNS SRV 记录。 | |
Logging | 启用诊断消息的输出。 | |
Pipe Name | 连接命名管道时使用的管道名称(仅限 Win32)。 | |
Port | 用于 TCP/IP 连接的端口。 | |
Server | 指定要连接的服务器。 | |
Shared Memory Name | 要使用的共享内存对象的名称。 | |
Use Compression | 连接是否应该使用压缩。 | |
Other | Keep Alive | 对于 TCP 连接,发送第一个 keepalive 数据包之前的空闲连接时间(以秒为单位)。值为 0 表示不使用 keepalive。 |
Pooling | Cache Server Properties | 当为 true 时,服务器属性将在池中的第一个服务器创建后缓存。 |
Connection Lifetime | 此连接在被销毁之前存在于池中的最短时间(以秒为单位)。 | |
Connection Reset | 当为 true 时,表示从池中移除时重置连接状态。 | |
Maximum Pool Size | 池中允许的最大连接数。 | |
Minimum Pool Size | 池中允许的最小连接数。 | |
Pooling | 当为 true 时,连接对象会从适当的池中提取,或者在必要时创建并添加到适当的池中。 | |
Security | Password | 表示连接数据源时使用的密码。 |
Persist Security Info | 当为 false 时,如果连接是打开的或曾经处于打开状态,安全敏感信息(例如密码)不会作为连接的一部分返回。 | |
TLS version | 在与服务器的 SSL 连接中使用的 TLS 版本。 | |
User ID | 表示连接数据源时使用的用户 ID。 | |
SSH | SSH Host Name | SSH 服务器的名称。 |
SSH Key File | 指示向 SSH 服务器进行身份验证时要使用的 SSH 密钥文件的路径和名称。 | |
SSH Passphrase | 指示在向 SSH 服务器进行身份验证时要使用的与密钥文件关联的 passphrase。 | |
SSH Password | 指示向 SSH 服务器进行身份验证时要使用的密码。 | |
SSH Port | 用于使用 SSH 隧道建立连接的端口。 | |
SSH User Name | 指示连接 SSH 服务器时使用的用户名。 |
Oracle
基础设置
属性 | 描述 |
---|---|
主机 | 指示 Oracle 数据库所在的服务器主机。 |
端口 | 指定主机总线适配器上的端口,它提供到控制器的物理连接并用于 I/O 操作。 |
协议 | 选择连接协议,TCP 或 TCPS。如果您的 Oracle 数据库启用了 TLS,则会选择 TCPS,否则选择 TCP。 |
钱包位置 | 指定存储钱包文件的文件夹。此设置仅在您选择 TCPS 协议时可见。 |
服务名称 | 指定数据库可以通过侦听器注册自己。 |
用户名 | 服务器登录名。 |
密码 | 服务器登录密码。 |
高级设置
Property | Sub-property | Description |
---|---|---|
DataSource | Wallet Location | 该属性指定钱包的位置。 |
Initialization | Metadata Pooling | 缓存 metadata 信息。 |
Statement Cache Size | 可缓存的最大 SQL 语句数。 | |
Misc | Context connection | 当为 true 时,其它连接字符串属性不可以结合使用。 |
TnsAdmin | 当前版本暂不支持该设置。 | |
Pooling | Connection Lifetime | 连接的最长生命周期(以秒为单位)。 |
Connection Timeout | 等待池中空闲连接的最长时间(以秒为单位)。 | |
Increment pool size | 当池中的所有连接都在使用时要创建的新连接数。 | |
Decrement pool size | 指定当存在空闲连接时每次删除的连接数。 | |
Enlist | 是否加入环境 TransactionScope。 | |
Max Pool Size | 池中允许的最大连接数。 | |
Min Pool Size | 池中允许的最小连接数。 | |
Pooling | 如果所有连接的计数超过 MinPoolSize,指定关闭池中未使用的连接之前等待的时间。 | |
Statement Cache Purge | 当连接回到池中时清除语句缓存。 | |
Validation Connection | 验证来自池的连接。 | |
RAC | HA Events | 当 Oracle RAC 服务、服务成员或节点出现故障时,主动从池中删除连接。 |
Load Balancing | 根据负载平衡建议和服务目标平衡 Oracle RAC 实例之间的工作请求。 | |
Security | Password | 指示连接到数据源时使用的密码。 |
Persist Security Info | 检索连接字符串中的密码。 | |
Proxy Password | 代理用户 ID 指定的代理用户的密码。 | |
Proxy User ID | 代理用户的用户名。 | |
User ID | 指示连接到数据源时要使用的用户 ID。 | |
Source | Data Source | 指明要连接的数据源地址或名称。 |
DBA Privilege | 管理权限:SYSDBA 或 SYSOPER。 | |
Promotable Transaction | 指示事务在其整个生命周期中是本地的还是分布式的。 | |
Self Tuning | 启用或禁用连接的自调整。 |
PostgreSQL
基础设置
属性 | 描述 |
---|---|
主机 | 指定 PostgreSQL 数据库所在的主机。 |
端口 | 指定主机总线适配器上的端口,它提供到控制器的物理连接并用于 I/O 操作。 |
SSL 模式 | 可用选项: Disable:不使用 SSL。 Prefer:如果服务器支持,则使用 SSL。 Require:始终使用 SSL。 |
客户证书 | 指定客户端 SSL 证书文件的路径。 |
用户名 | 数据库服务器登录名。 |
密码 | 数据库服务器登录密码。 |
输入数据库名称 | 指示要连接到的数据库的名称。 |
高级设置
Property | Sub-Property | Description |
---|---|---|
Advanced | ArrayNullabilityMode | 配置作为对象实例请求时返回各种值类型的数组的方式。 |
Auto Prepare Min Usages | SQL 语句在自动准备之前使用的最少使用次数。默认为 5。 | |
Keepalive | Npgsql 发送 keepalive 查询之前不活动连接的秒数。 | |
Load Table Composites | 加载表复合类型定义,而不仅仅是独立的复合类型。 | |
Max Auto Prepare | 在任何给定点可以自动准备的最大 SQL 语句数。超过这个数字,最近最少使用的语句将被回收。零(默认)禁用自动准备。 | |
No Reset On Close | 如果设置为 true,则池连接的状态在关闭时不会重置(提高性能)。除非您知道自己在做什么,否则不要指定此项。 | |
Options | 为连接设置 PostgreSQL 配置参数默认值。 | |
Read Buffer Size | 确定 Npgsql 在读取时使用的内部缓冲区的大小。如果从数据库传输大值,增加可能会提高性能。 | |
Socket Receive Buffer Size | 确定 socket 接收缓冲区的大小。 | |
Socket Send Buffer Size | 确定 socket 发送缓冲区的大小。 | |
TCP Keepalive | 如果未指定覆盖,是否使用具有系统默认值的 TCP keepalive。 | |
TCP Keepalive Interval | 如果未收到确认,则发送连续保持活动数据包之间的时间间隔(以秒为单位)。 | |
TCP Keepalive Time | 发送 TCP keepalive 查询之前连接不活动的秒数。 | |
Use Perf Counters | 将连接性能信息写入性能计数器。 | |
Write Buffer Size | 确定 Npgsql 在写入时使用的内部缓冲区的大小。如果将大值传输到数据库,增加可能会提高性能。 | |
Compatibility | Convert Infinity Date Time | 使 MaxValue 和 MinValue 时间戳和日期可读为无穷大和负无穷大。 |
Server Compatibility Mode | 特殊 PostgreSQL 服务器类型的兼容模式。 | |
Connection | Application Name | 在连接启动期间要发送到后端的可选应用程序名称参数。 |
Client Encoding | 获取或设置 client_encoding 参数。 | |
Database | 要连接的 PostgreSQL 数据库。 | |
Encoding | 获取或设置将用于编码/解码 PostgreSQL 字符串数据的 .NET 编码。 | |
Enlist | 是否加入环境 TransactionScope。 | |
Host | 要连接的 PostgreSQL 服务器的主机名或 IP 地址。 | |
Passfile | PostgreSQL 密码文件 (PGPASSFILE) 的路径,将从中获取密码.。 | |
Password | 要连接的密码。如果使用 IntegratedSecurity,则不需要。 | |
Port | PostgreSQL 服务器的 TCP 端口。 | |
Search Path | 获取或设置模式搜索路径。 | |
Time Zone | 获取或设置 PostgreSQL 会话时区,采用 Olson/IANA 数据库格式。 | |
User Name | 要连接的用户名。如果使用集成安全,则不需要。 | |
Entity Framework | Entity Admin Database | 在实体框架中创建和删除数据库时要指定的数据库管理员。如果未指定,则默认为“template1”。 |
Entity Template Database | 在实体框架中创建数据库时指定的数据库模板。如果未指定,PostgreSQL 默认设为“template1”。 | |
Multiplexing | Multiplexing | 启用多路复用,从而更有效地使用连接。 |
Write Coalescing Buffer Threshold Bytes | 启用多路复用时,确定在刷新到网络之前要缓冲的最大传出字节数。 | |
Write Coalescing Delay Us | 启用多路复用后,确定在刷新到网络之前等待进一步命令的最长时间。以微秒为单位,0 完全禁用等待。 | |
Obselete | Backend Timeouts | 已过时,请参阅 https://www.npgsql.org/doc/release-notes/3.1.html |
Continuous Processing | 已过时,请参阅 https://www.npgsql.org/doc/release-notes/3.1.html | |
Preload Reader | 已过时,请参阅 https://www.npgsql.org/doc/v/3.0.html | |
Use Extended Types | 已过时,请参阅 https://www.npgsql.org/doc/release-notes/3.0.html | |
Use Ssl Stream | 已过时,请参阅 https://www.npgsql.org/doc/release-notes/4.1.html | |
Pooling | Connection Idle Lifetime | 如果所有连接的计数超过 MinPoolSize,则指定在关闭池中未使用的连接之前等待的时间。 |
Connection Lifetime | 连接的总最大生命周期(以秒为单位)。 | |
Connection Pruning Interval | 在尝试修剪超出空闲生命周期的空闲连接之前,池等待的秒数。 | |
Max Pool Size | 最大连接池大小。 | |
Min Pool Size | 最小连接池大小。 | |
Pooling | 是否应该使用连接池。 | |
Security | Check Certificate Revocation | 认证时是否检查证书吊销列表。 |
Client Certificate | 要发送到服务器的客户端证书的位置。 | |
Client Certificate Key | 要发送到服务器的客户端证书的密钥。 | |
Include Error Detail | 启用后,PostgreSQL 错误和通知详情被包含在 PostgresException.Detail 和 Postgres Notice.Detail 中。这些可能包含敏感数据。 | |
Include Realm | 用于身份认证的 Kerberos 领域。 | |
Integrated Security | 是否使用 Windows 集成安全性登录。 | |
Kerberos Service Name | 用于身份验证的 Kerberos 服务名称。 | |
Log Parameters | 启用后,执行命令时会记录参数值。默认为 false。 | |
Persist Security Info | 获取或设置一个布尔值,该值指示安全敏感信息(例如密码)在连接打开或曾经处于打开状态时是否不作为连接的一部分返回。 | |
Root Certificate | 用于验证服务器证书的 CA 证书的位置。 | |
SSL Mode | 控制是否将 SSL 设置为 Required、Disabled 或 Preferred,具体取决于服务器支持。 | |
Trust Server Certificate | 是否信任服务器证书而不验证它。 | |
Timeouts | Cancellation Timeout | 当命令超时(或用户提供的取消令牌被取消)并尝试取消命令后,Npgsql 在断开连接之前等待这个额外超时的时间(以毫秒为单位)。默认为 2000,设置为零表示无穷大。 |
Command Timeout | 在终止尝试并产生错误之前尝试执行命令时等待的时间(以秒为单位)。设置为零表示无穷大。 | |
Internal Command Timeout | 在终止尝试并生成错误之前尝试执行内部命令时等待的时间(以秒为单位)。 -1 使用 CommandTimeout,0 表示没有超时。 | |
Timeout | 在终止尝试并产生错误之前尝试建立连接时等待的时间(以秒为单位)。 |
SQLite
基础设置
属性 | 描述 |
---|---|
数据源 | 指定 SQLite 数据源文件。 |
高级设置
Property | Sub-Property | Description |
---|---|---|
Misc | Cache | 指定缓存模式为 Default, Private 或 Shared。 |
Data Source | 指明要连接的数据源地址或名称。 | |
Foreign Keys | 启用外键约束。 | |
Mode | 指定 SQLite 数据库模式为 ReadWriteCreate, ReadWrite, ReadOnly 或 Memory。 | |
Password | 数据库登录密码。 | |
Recursive Triggers | 启用递归触发器调用。 |
云数据库服务器
以下云数据库服务器连接已经过测试并被证明是成功的:
数据库 | 云数据库服务器 | 数据库引擎版本 |
---|---|---|
MySQL | Amazon Aurora for MySQL | 5.6.10a |
MySQL | Amazon RDS for MySQL | MySQL 8.0.20 |
PostgreSQL | Amazon Aurora for PostgreSQL | 11.6 |
PostgreSQL | Amazon RDS for PostgreSQL | PostgreSQL 12.3-R |
SQL Server | Amazon RDS for SQL Server | 14.00.3281.6.v1(SQL Server 2017) |
Oracle | Amazon RDS for Oracle | 12.1.0.1 |
SQL Server | Microsoft Azure SQL | 最新的 SQL Server 引擎(截至 2020 年 9 月) |
MySQL | Microsoft Azure database for MySQL | 5.6 |
PostgreSQL | Microsoft Azure database for PostgreSQL | 11 |
注意:连接云数据库服务器的步骤与连接本地数据库的步骤相同,只是需要将在云数据库服务器中创建的数据库实例的端点指定为服务器或主机。有关如何在云数据库服务器上创建数据库实例的信息,请参阅提供商的文档。