C# 数据库连接字符串
1.C#连接连接Access
string AccessConstr=@"Provider=Microsoft.Jet.OleDb.4.0;Data Source=C:\Mytest\test.mdb"; OleDbConnection objConnection=new OleDbConnection(strConnection); ...... objConnection.Open();//打开连接 objConnection.Close();//关闭连接
解释:
连接Access数据库需要导入额外的命名空间:Using System.Data.OleDb;
"Provider=Microsoft.Jet.OleDb.4.0;"是指数据提供者,这里使用的是Microsoft Jet引擎,也就是Access中的数据引擎,asp.net就是靠这个和Access的数据库连接的.
"Data Source=C:\MyTest\test.mdb"是指明数据源的位置,他的标准形式是"Data Source=MyDrive:MyPath\MyFile.MDB".
2.C#连接SQL Server
string SQLConstr="Data Source=192.168.0.111; initial catalog=Mysqldb;user id=sa;password=123;Connect Timeout=30"; SqlConnection sqlConnection=new SqlConnection(SQLConstr); ... sqlConnection.Open(); sqlConnection.Close(); 还可写作: string SQLConstr="Server=192.168.0.111;DataBase=Mysqldb;uid=sa;pwd=123;Connect Timeout=30"; SqlConnection sqlConnection=new SqlConnection(SQLConstr); ... sqlConnection.Open(); sqlConnection.Close();
解释:
连接SQL Server 需要导入命名空间Using System.Data.SqlClient;
"user id=sa":连接数据库的验证用户名为sa.还可以写成"uid=sa";
"password=":连接数据库的验证密码为空.还可以写为"pwd=";
注意,此种方式只适合有用户名和密码的SQL Server登录;
如果SQL Server设置为Windows登录,那么这里就不需要使用"user id"和"password"这样的方式来登录,而需要使用"Trusted_Connection=SSPI"来进行登录;
(Data Source=Aron1; Initial Catalog=pubs; Integrated Security=SSPI; 或 Server=Aron1; Database=pubs; Trusted_Connection=True; )注意区别
"Data Source=192.168.0.111":服务器地址.还可写作:Server=192.168.0.111.或 address=102.168.0.111如果是本地数据库且定义了实例名,则可以写为"Server=(local)";
"initial catalog=Mysqldb":表示数据源为"Mysqldb"这个数据库.还可以写作"Database=Mysqldb";
"Connect Timeout=30":连接超时时间为30秒.
3.C#连接Oracle
string OracleConstr="Data Source=192.168.0.111; User Id=username; Password=passwd; Integrated Security=no"
解释:
连接Oracle 需要先添加引用:程序集--框架--找到”System.Data.OracleClient“.然后在导入命名空间Using System.Data.OracleClient;
Oracle 连接字符串基本与SqlServer 一样。(上面写法只使适用于o'racle8.1及以上版本);
Integrated Security=no 表示集成安全性为否。即需要用户名和密码登录。可不写。
4.C#连接MySQL
解释:与SQL Server 基本一致。当为本地库时:server=localhost;或 data source=127.0.0.1;
mysql
"SlaveConnectionString": "server=localhost;database=RuYiAdmin;user=root;password=root;port=3306;pooling=true;max pool size=20;persist security info=True;charset=utf8mb4;"
"Connection": "server=localhost;Database=blog;Uid=root;Pwd=root;Port=3306;Allow User Variables=True;"
mssql
"DefaultConnection": "Data Source=(localdb)\\MSSQLLocalDB;Initial Catalog=Christ;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
"Connection": "Data Source=(localdb)\\MSSQLLocalDB;Initial Catalog=WMBLOG_MSSQL;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
<add name="MySqlConnection" connectionString=" User ID=root;Password=hzl!2020;Host=192.168.3.227;Port=3306;Database=RuYiAdmin;Protocol=TCP;Compress=false;Pooling=true;Min Pool Size=0;Max Pool Size=100;Connection Lifetime=0;CHARSET=utf8mb4;" />
oracle
"Connection": "Data Source=127.0.0.1/ops;User ID=OPS;Password=123456;Persist Security Info=True;Connection Timeout=60;"
关键字 | 默认 | 描述 |
Server 或 Data Source | N/A | 要连接的数据库实例的名称或网络地址(可以在名称后指定端口号),指定本地实例可用(Local),如果是SqlExpress(名称SqlExpress)。 |
Initial Catalog 或 Database | N/A | 数据库的名称。 |
User ID 或 UID | N/A | 登录帐户。 |
Password 或 Pwd | N/A | 帐户登录的密码。 |
Persist Security Info | 'false' | 当该值设置为 false 或 no(强烈推荐)时,如果连接是打开的或者一直处于打开状态,那么安全敏感信息(如密码)将不会作为连接的一部分返回。重置连接字符串将重置包括密码在内的所有连接字符串值。可识别的值为 true、false、yes 和 no。 |
Enlist | 'false' | true 表明连接池程序在创建线程的当前事务上下文中自动登记连接。可识别的值为 true、false、yes 和 no。 |
Connection Lifetime | 0 | 当连接被返回到池时,将其创建时间与当前时间作比较,如果时间长度(以秒为单位)超出了由 Connection Lifetime 指定的值,该连接就会被销毁。这在聚集配置中很有用(用于强制执行运行中的服务器和刚置于联机状态的服务器之间的负载平衡)。零 (0) 值将使池连接具有最大的连接超时。 |
Max Pool Size | 100 | 池中允许的最大连接数。 |
Min Pool Size | 0 | 池中允许的最小连接数。 |
Pooling | 'true' | 当该值为 true 时,系统将从适当的池中提取 DbConnection 对象,或在需要时创建该对象并将其添加到适当的池中。可识别的值为 true、false、yes 和 no。 |
Packet Size | 8192 | 用来与 SQL Server 的实例进行通信的网络数据包的大小,以字节为单位。 |
AttachDBFilename 或 extended properties 或 Initial File Name | N/A | 主数据库文件的名称,包括可连接数据库的完整路径名。只有具有 .mdf 扩展名的主数据文件才支持 AttachDBFilename。 如果主数据文件为只读,则附加操作将失败。 该路经可以是绝对路径,也可以是相对路径,这取决于是否使用 DataDirectory 替换字符串。如果使用 DataDirectory,则对应的数据库文件必须存在于替换字符串指向的目录的子目录中。 备注:远程服务器、HTTP 及 UNC 路径名不受支持。 实例:必须按照如下方式使用关键字“database”(或其别名之一)指定数据库名称: "AttachDbFileName=|DataDirectory|dataYourDB.mdf;integrated security=true;database=YourDatabase" 如果数据文件所在的目录中存在日志文件,并且在附加主数据文件时使用了“database”关键字,则会生成错误。这种情况下,请移除日志文件。附加了数据库后,系统将根据物理路径自动生成一个新的日志文件。 |
Integrated Security 或 Trusted_Connection | 'false' | 当为 false 时,将在连接中指定用户 ID 和密码。当为 true 时,将使用当前的 Windows 帐户凭据进行身份验证。可识别的值为 true、false、yes、no 以及与 true 等效的 sspi(强烈推荐)。 |