数据库 · 其他
开发专题 · Oracle / MongoDB / PostgreSQL 连接要点(一笔带过)
SQLite、SQL Server、Access、MySQL 已有专页详写。本页仅对 Oracle、MongoDB、PostgreSQL 各给一小段:在 LCode 中要引用哪些程序集、连接串怎么写、常见注意点。不是完整教程;增删改查模式与专页相同(ADO.NET 或驱动文档中的 API)。操作文案以 LCode 中文界面为准。LCode 主界面 NuGet 包管理暂不支持,待更新完善——请在外部取得 DLL 后,用「添加引用 → 浏览」加入工程(见 引用 DLL)。
Oracle
常用托管驱动为 Oracle.ManagedDataAccess(ODP.NET Managed)。把 Oracle.ManagedDataAccess.dll 放到解决方案目录后,在 LCode 中浏览引用,并确认本地复制为 True。命名空间多为 Oracle.ManagedDataAccess.Client(类名如 OracleConnection)。
| 项 | 要点 |
|---|---|
| 程序集 | Oracle.ManagedDataAccess.dll(Managed)。勿与旧版非托管 OCI 混用位数/路径;部署时 DLL 须随 EXE 输出。 |
| 连接串(易读) | User Id=scott;Password=tiger;Data Source=localhost:1521/ORCL;(主机:端口/服务名;以你环境为准) |
| 连接串(TNS) | User Id=…;Password=…;Data Source=MYTNS;,依赖本机或配置目录中的 tnsnames.ora。 |
| 注意 | 参数占位多用 :Name。客户端字符集与库一致,避免中文乱码。口令勿写进公开仓库。 |
C#
using Oracle.ManagedDataAccess.Client;
string connStr =
"User Id=appuser;Password=秘密;Data Source=localhost:1521/ORCL;";
using (OracleConnection conn = new OracleConnection(connStr))
{
conn.Open();
// …ExecuteNonQuery / ExecuteReader…
}
VB.NET
Imports Oracle.ManagedDataAccess.Client
Dim connStr As String =
"User Id=appuser;Password=秘密;Data Source=localhost:1521/ORCL;"
Using conn As New OracleConnection(connStr)
conn.Open()
' …ExecuteNonQuery / ExecuteReader…
End Using
MongoDB
MongoDB 不是关系型 ADO.NET 提供程序,常用官方 MongoDB.Driver(及依赖程序集)。在 LCode 中把相关 DLL 一并浏览引用(至少 MongoDB.Driver.dll、MongoDB.Bson.dll、MongoDB.Driver.Core.dll 等,以你下载包内清单为准),本地复制为 True。
| 项 | 要点 |
|---|---|
| 程序集 | 官方驱动一组 DLL;版本须互相匹配。LCode 无内置 MongoDB 包。 |
| 连接串 | mongodb://localhost:27017;带认证示例 mongodb://user:pass@host:27017/?authSource=admin。 |
| 用法概要 | MongoClient → GetDatabase → GetCollection<T>;读写是文档 API,不是 SqlCommand。 |
| 注意 | 驱动对较旧 .NET Framework 的支持因版本而异,请选标明支持 net48 的发行版。本页不展开 CRUD。 |
C#
using MongoDB.Bson;
using MongoDB.Driver;
var client = new MongoClient("mongodb://localhost:27017");
var db = client.GetDatabase("appdb");
var col = db.GetCollection<BsonDocument>("items");
// …InsertOne / Find…
VB.NET
Imports MongoDB.Driver
Imports MongoDB.Bson
Dim client As New MongoClient("mongodb://localhost:27017")
Dim db = client.GetDatabase("appdb")
Dim col = db.GetCollection(Of BsonDocument)("items")
' …InsertOne / Find…
提示:上例用到
BsonDocument 时需引用 MongoDB.Bson。强类型文档可换成自建 POCO 类。
PostgreSQL
常用 ADO.NET 提供程序为 Npgsql。取得 Npgsql.dll(及包内依赖)后,在 LCode 中浏览引用,本地复制为 True。命名空间 Npgsql(NpgsqlConnection、NpgsqlCommand 等)。
| 项 | 要点 |
|---|---|
| 程序集 | Npgsql.dll(及发行包列出的依赖)。选支持 .NET Framework 4.8 的版本。 |
| 连接串 | Host=localhost;Port=5432;Database=appdb;Username=appuser;Password=秘密; |
| 参数 | 占位多用 @Name,与 SQL Server / MySQL 习惯接近。 |
| 注意 | 远程须放行 5432(或自定义端口);服务器 pg_hba.conf 须允许客户端。字符集用 UTF-8。口令勿写进公开仓库。 |
C#
using Npgsql;
string connStr =
"Host=localhost;Port=5432;Database=appdb;Username=appuser;Password=秘密;";
using (NpgsqlConnection conn = new NpgsqlConnection(connStr))
{
conn.Open();
// …ExecuteNonQuery / ExecuteReader…
}
VB.NET
Imports Npgsql
Dim connStr As String =
"Host=localhost;Port=5432;Database=appdb;Username=appuser;Password=秘密;"
Using conn As New NpgsqlConnection(connStr)
conn.Open()
' …ExecuteNonQuery / ExecuteReader…
End Using
相关阅读
- 引用 DLL — 浏览托管程序集与「本地复制」
- 数据库 · SQLite / SQL Server / Access / MySQL — 详写专页
- 多数据源(多 Access 库文件) — 多个 Access 库文件
- 运行与编译 — 平台目标与运行验证