C#数据库连接字符串

Web.config文件

  <connectionStrings>
<!--SQLServer数据库连接-->
<add name="conn_test_sqlserver" connectionString="server=127.0.0.1;uid=testuser;pwd=testPwd;database=db_test;pooling=true;min pool size=10;max pool size=1024;connection lifetime=300;packet size=1000" providerName="System.Data.SqlClient"/>
<!--MySQL数据库连接-->
<add name="conn_test_mysql" connectionString="Data Source=127.0.0.1; Database=db_test; User Id=testuser;Password=testPwd; pooling=false; CharSet=utf8; Port=3306" providerName="MySql.Data.MySqlClient"/>
<!--SQLite数据库连接-->
<add name="conn_test_sqlite" connectionString="Data Source=|DataDirectory|\db_test.db3; Pooling=true; FailIfMissing=false" providerName="System.Data.SQLite" />
</connectionStrings>
<!-- 解决DbProviderFactories.GetFactory(ProviderName)出现的异常:“找不到请求的 .Net Framework Data Provider。可能没有安装。” -->
<system.data>
<DbProviderFactories>
<remove invariant="System.Data.SQLite"/>
<add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite, Version=1.0.105.2, Culture=neutral, PublicKeyToken=db937bc2d44ff139" />
<remove invariant="MySQL Data Provider"/>
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.9.9.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>
</system.data>

示例代码:

protected void Page_Load(object sender, EventArgs e)
{
try
{
object value = GetValue();
Response.Write(null==value?"Null":value);
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
}
public object GetValue()
{
string connName = "con_test_mysql";
System.Configuration.ConnectionStringSettings connConf = System.Configuration.ConfigurationManager.ConnectionStrings[connName];
DbFactory dbFactory = new DbFactory(connConf.ProviderName, connConf.ConnectionString);
try
{
System.Data.Common.DbProviderFactory dbpf = System.Data.Common.DbProviderFactories.GetFactory(connConf.ProviderName);
using (System.Data.Common.DbConnection conn = dbpf.CreateConnection())
{
conn.ConnectionString = connConf.ConnectionString;
using (System.Data.Common.DbCommand cmd = conn.CreateCommand())
{
// cmd
string sqlstmt = "select remark from t_user where account=@account";
cmd.CommandText = sqlstmt;
cmd.CommandTimeout = ;
// params
System.Data.Common.DbParameter dbpara = cmd.CreateParameter();
dbpara.ParameterName = "@account";
dbpara.Value = "test@email.com";
dbpara.Size = ;
cmd.Parameters.Add(dbpara);
// execute
System.Data.Common.DbDataAdapter dbadp = dbpf.CreateDataAdapter();
dbadp.SelectCommand = cmd;
conn.Open();
DataTable dtResult = new DataTable();
dbadp.Fill(dtResult);
object value = null;
if (dtResult.Rows.Count > )
{
value = dtResult.Rows[][];
if (DBNull.Value == value)
{
value = null;
}
}
return value;
}
}
}
catch (Exception ex)
{
throw ex;
}
}

下载: CSharpDbConnectionDemo(DotNet数据库连接演示).zip

Java数据库连接字符串

// mysql
driver="com.mysql.jdbc.Driver";
url = "jdbc:mysql://localhost:3306/db_test?useUnicode=true&characterEncoding=UTF8";
conn = getConnection(driver,url, "user", "password");
System.out.println("与mysql数据库连接" + (null == conn ? "失败" : "成功"));
// sqlite
driver="SQLite.JDBCDriver";
url = "jdbc:sqlite:/C:/db_test.db3";
conn = getConnection(driver,url);
System.out.println("与sqlite数据库连接" + (null == conn ? "失败" : "成功"));
// sqlserver
driver="com.mysql.jdbc.Driver";
url = "jdbc:sqlserver://localhost:1433;DatabaseName=db_test";
conn = getConnection(driver,url, "user", "password");
System.out.println("与sql server数据库连接" + (null == conn ? "失败" : "成功"));
// oracle
driver="oracle.jdbc.driver.OracleDriver";
url = "jdbc:oracle:thin:@localhost:1521:orcl";
conn = getConnection(driver,url, "user", "password");
System.out.println("与oracle数据库连接" + (null == conn ? "失败" : "成功"));

JDBC连接数据库方法

public static Connection getConnection(String driver, String url, String user, String password) {
Connection conn = null;
try {
//初始化驱动包
Class.forName(driver);
conn = DriverManager.getConnection(url, user, password); } catch (Exception e) {
e.printStackTrace();
}
return conn;
}

下载:[jdbc_connection_demo(JDBC连接各种数据库演示).zip]

PHP_PDO数据库连接字符串

// PDO连接MySQL的DSN字符串 (需要打开php配置文件中的"extension=php_pdo_mysql.dll"选项)
mysql:dbname=db_test;host=127.0.0.1;port=3306;charset=utf8
// PDO连接SQLite的DSN字符串 (需要打开php配置文件中的"extension=php_pdo_sqlite.dll"选项)
sqlite:test_db.db3
// PDO通过ODBC连接SQL Server的DSN字符串 (需要打开php配置文件中的"extension=php_pdo_odbc.dll"选项)
odbc:Driver={SQL Server};Server=127.0.0.1,1433;Database=db_test;
// PDO连接SQL Server的DSN字符串(配置非常麻烦,建议使用ODBC方式。PHP5.3.6以上的版本中php_mssql.dll,php_pdo_mssql.dll都已经不见了,只有一个php_pdo_odbc.dll,所以最新最好的php连接mssql方法应该是使用ODBC的驱动模式。)
sqlsrv:Database=db_test;Server=127.0.0.1,1433
// PDO连接PostgreSQL的DSN字符串 (需要打开php配置文件中的"extension=php_pdo_pgsql.dll"选项)
pgsql:dbname=db_test;host=127.0.0.1;port=5432
// PDO连接Oracle的DSN字符串 (需要打开php配置文件中的"extension=php_pdo_oci.dll"选项)
oci:dbname=//127.0.0.1:5432/db_test

示例代码:

$dsn = 'mysql:dbname=db_test;host=127.0.0.1;port=3306;charset=utf8';
$pdo = new PDO($dsn, 'dbuser', 'dbpwd');
$stmt = $pdo->prepare('select id, name from t_user where user_name=:account');
$stmt->bindParam(':account', $account);
$stmt->execute();
while ($row = $stmt->fetch()) {
return $row;
}
/**
* 查询并返回数组
* <br />例如:
* <br />query('select COLUMN_NAME, IS_NULLABLE, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH, NUMERIC_PRECISION, NUMERIC_SCALE, EXTRA, COLUMN_COMMENT from information_schema.columns WHERE TABLE_SCHEMA=:database AND TABLE_NAME=:table', ['database' => $dbname, 'table' => $tablename])
* @param string $sqlstmt
* @param array $params
* @return array
*/
function query($sqlstmt, $params = []) {
$dsn = 'mysql:host=127.0.0.1;port=3306;charset=utf8';
$pdo = new PDO($dsn, 'dbuser', 'dbpwd');
$stmt = $pdo->prepare($sqlstmt);
if ($params) {
$names = array_keys($params);
$values = array_values($params);
$i = count($names) - 1;
// 这里不能用foreach,参考bindParam陷阱(值参数是引用型变量):http://www.laruence.com/2012/10/16/2831.html
while ($i >= 0) {
$stmt->bindParam($names[$i], $values[$i]);
$i--;
}
}
$stmt->execute();
$out = [];
while ($row = $stmt->fetch()) {
$out[] = $row;
}
return $out;
}

下载:[pdo_dns_demo(PDO连接各种数据库演示).zip]

PHP官方DSN说明:http://php.net/manual/en/ref.pdo-odbc.connection.php
更多DSN连接字符串可以参考:http://www.connectionstrings.com/

版权声明:本文采用署名-非商业性使用-相同方式共享(CC BY-NC-SA 3.0 CN)国际许可协议进行许可,转载请注明作者及出处。
本文标题:DotNet,PHP,Java的数据库连接代码大全(带演示代码)
本文链接:http://www.cnblogs.com/sochishun/p/7113193.html
本文作者:SoChishun (邮箱:14507247#qq.com | 博客:http://www.cnblogs.com/sochishun/)
发表日期:2017年7月3日

DotNet,PHP,Java的数据库连接代码大全(带演示代码)的更多相关文章

  1. 百度架构师带你进阶高级JAVA架构,让你快速从代码开发者成长为系统架构者

    百度架构师带你进阶高级JAVA架构,让你快速从代码开发者成长为系统架构者 1.

  2. Java jdbc数据库连接池总结!(转)

    1. 引言 近年来,随着Internet/Intranet建网技术的飞速发展和在世界范围内的迅速普及,计算机 应用程序已从传统的桌面应用转到Web应用.基于B/S(Browser/Server)架构的 ...

  3. HTML代码大全

    1.html的简介* 什么是html?- HyperText Markup Language:超文本标记语言,网页语言** 超文本:超出文本的范畴,使用html可以轻松实现这样操作** 标记:html ...

  4. 软帝学院:一万字的Java基础知识总结大全(实用)

    Java基础总结大全(实用) 一.基础知识: 1.JVM.JRE和JDK的区别: JVM(Java Virtual Machine):java虚拟机,用于保证java的跨平台的特性. java语言是跨 ...

  5. [转帖]java面试和笔试大全

    java面试和笔试大全 https://www.cnblogs.com/linzheng/archive/2011/01/05/1926856.html 2.String是最基本的数据类型吗? 基本数 ...

  6. html常用代码大全

    1.结构性定义 文件类型 <HTML></HTML> (放在档案的开头与结尾) 文件主题 <TITLE></TITLE> (必须放在「文头」区块内) 文 ...

  7. 《代码大全2》读书笔记 Week9

    本周阅读了<代码大全2>第14章至第17章,这几章对我们熟悉的直线型代码.条件语句.循环语句和一些不常用的控制结构(如goto.try-catch结构)提出了一些使用建议,以下分享条件语句 ...

  8. php 基础代码大全(不断完善中)

    下面是基础的PHP的代码,不断完善中~ //语法错误(syntax error)在语法分析阶段,源代码并未被执行,故不会有任何输出. /* [命名规则] */ 常量名 类常量建议全大写,单词间用下划线 ...

  9. 实用js代码大全

    实用js代码大全 //过滤数字 <input type=text onkeypress="return event.keyCode>=48&&event.keyC ...

随机推荐

  1. 如何快速解决MySQL 1032 主从错误

    3分钟解决MySQL 1032主从错误 Part1:写在最前1032错误----现在生产库中好多数据,在从库误删了,生产库更新后找不到了,现在主从不同步了,再跳过错误也没用,因为没这条,再更新还会报错 ...

  2. 关于Eclipse在servlet中连接数据库时出现驱动加载失败的解决

    问题:在队友发来的项目中想将他获取到的数据通过数据库储存,出现驱动加载失败问题 解决:首先百度了下相关情况,大多数都是说下载mysql-connector-java-5.1.39-bin.jar包,然 ...

  3. 【Java】 秒转时分秒天

    总有时候会有些需求, 需要用到秒, 比如 JedisCluster 设置过期时间 现在有一个需求是 : 查询接口的缓存设置有效期为:1天+随机时间 基本可以按以下来做: package com.lwc ...

  4. Linux 安装Redis<准备>(使用Mac远程访问)

    阅读本文需要一定的Linux基础 一 Redis简介 redis是用c语言编写的一款开源的高性能键值对(key-value)数据库 它通过提供多种键值数据类型来适应不同场景下的存储需求 二 Redis ...

  5. android 签名相关

    查看keystorekeytool -list -v -keystore debug.keystoreapk签名不带别名 apksigner sign --ks debug.keystore test ...

  6. Java接口获取系统配置信息

    Java获取当前运行系统的配置信息 接口:System.getProperty() 参数 描述 java.version Java运行时环境版本 java.vendor Java运行时环境供应商 ja ...

  7. nginx 源码阅读 core

    ngx_config.h 数据对齐 #define ngx_align(d, a)     (((d) + (a - 1)) & ~(a - 1)) ngx_core.h #define ng ...

  8. scikit-learn 0.18中的cross_validation模块被移除

    环境:scikit-learn 0.18 , python3 from sklearn.cross_validation import train_test_split from sklearn.gr ...

  9. DB2 UDB V8.1 管理

    在DB2中有关实例(Instance), 数据库(Database),表空间(TableSpace),容器(Container)等概念: 在一个操作系统中,DB2数据服务可以同时运行多个实例(有别于O ...

  10. Hibernate(七)

    三套查询之HQL查询(原文再续书接上一回) where子句部分(查询过滤部分) Hibernate的where子句部分能支持的运算符,表达式.函数特别多,用法与sql语句是一样的. 常用的表达式.运算 ...