从HelloWorld启航——数据库连接字符串的困惑

  • 程序员方阵
  • 数据库连接字符串的困惑
  • 数据库连接字符串的组成
    • 驱动程序

      • ODBC
      • OLE DB
      • JDBC
    • 比较
  • 数据库链接字符串大全
    • SQL Server 2005

      • SQL Native Client ODBC Driver
      • SQL Native Client OLE DB Provider
      • SqlConnection NET
    • MySQL
      • MyODBC
      • OLE DB OleDbConnection NET
      • MySqlConnection NET
    • Oracle
      • ODBC
      • OLE DB OleDbConnection NET
    • AS400 iSeries
    • Cach
    • IBM DB2
    • Firebird
    • Informix
    • Interbase
    • SQLBase
    • SQL Serve
  • 絮叨絮叨

程序员方阵

说起Hello World,不由得想起最近的抗战胜利70周年阅兵;网络中走来的程序员方阵。

现在向我们走来的是程序员方阵!

他们穿着拖鞋,披着毛巾,

左手拿着键盘,右手举着鼠标,

腋下夹着USB转换器。

他们因睡眠不足而显得精神不振,

喊着微弱的口号走过主席台。

主席问候:程序员们辛苦了!

程序员方队异口同声地答道:Hello World!

习大大的讲话很给力:让我们共同铭记历史所启示的伟大真理:正义必胜!和平必胜!人民必胜!

数据库连接字符串的困惑

??通常来说,第一个Hello World程序是无压力的,个别开发环境安装、配置起来可能比较吃力,就像前段时间Visual Studio推出Linux版本,我基于CentOS6.5安装,结果需要升级GCC的版本,研究了半天也没搞定!

??我最初学习的是VB.NET,学习网页后台开发,照着书中的例子学习的也还算顺利;但到学习数据库的时候就卡住了,当时是连接的ACCESS数据库,具体遇到的错误已经不记得了,只大概的记得这问题搞了一两个月也没搞出来!当时是2003年左右,网络上能找到的东西也非常有限,不像现在一搜一大把的资料源码之类的;当时应该有一些知名的论坛了,不过那时候人比较傻,也不知道去找论坛发帖;当时访问Google还不用翻墙呢,不过英文也不好,也没想到去外面看看!

??实在研究不通了,就放下了,先去研究点别的;过了大概一个多月吧,又回过头来研究,结果很快搞通过了,连接数据库成功了,突然觉得豁然开朗!

数据库连接字符串的组成

连接字符串的是一个以分号为界,划分键值参数对的列表。

驱动程序

之所以可以通过一个字符串连接并操作数据库,是因为有驱动程序的支持。

常见的驱动程序如下:

ODBC

??ODBC(Open Database Connectivity,开放数据库互连)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。

OLE DB

??OLE DB 是 Microsoft 的一个战略性系统级编程接口,用于管理整个组织内的数据。OLE DB 是建立在 ODBC 功能之上的一个开放规范。ODBC 是为访问关系型数据库而专门开发的,OLE DB 则用于访问关系型和非关系型信息源,例如主机 ISAM/VSAM 和层次数据库,电子邮件和文件系统存储,文本、图形和地理数据以及自定义业务对象。OLE DB 定义了一组 COM 接口,对各种数据库管理系统服务进行封装,并允许创建软件组件,实现这些服务。OLE DB 组件包括数据提供程序(包含和表现数据)、数据使用者(使用数据)和服务组件(处理和传送数据,例如,查询处理器和游标引擎)。OLE DB 接口有助于平滑地集成组件,这样,OLE DB 组件厂商就可以快速地向市场提供高质量 OLE DB 组件。此外,OLE DB 包含了一个连接 ODBC 的“桥梁”,对现用的各种 ODBC 关系型数据库驱动程序提供一贯的支持。

JDBC

??JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,同时,JDBC也是个商标名。

比较

??目前,Microsoft 的 ODBC API 可能是使用最广的、用于访问关系数据库的编程接口。它能在几乎所有平台上连接几乎所有的数据库。为什么 Java 不使用 ODBC?对这个问题的回答是:Java 可以使用 ODBC,但最好是在 JDBC 的帮助下以JDBC-ODBC桥的形式使用,这一点我们稍后再说。现在的问题已变成:”为什么需要 JDBC”?答案是显然的:ODBC 不适合直接在 Java 中使用,因为它使用 C 语言接口。从Java 调用本地 C代码在安全性、实现、坚固性和程序的自动移植性方面都有许多缺点。从 ODBC C API 到 Java API 的字面翻译是不可取的。例如,Java 没有指针,而 ODBC 却对指针用得很广泛(包括很容易出错的指针”void *”)。您可以将 JDBC 想象成被转换为面向对象接口的 ODBC,而面向对象的接口对 Java程序员来说较易于接受。

??ODBC 很难学。它把简单和高级功能混在一起,而且即使对于简单的查询,其选项也极为复杂。相反,JDBC 尽量保证简单功能的简便性,而同时在必要时允许使用高级功能。启用”纯 Java “机制需要象 JDBC 这样的 Java API。如果使用ODBC,就必须手动地将 ODBC 驱动程序管理器和驱动程序安装在每台客户机上。如果完全用 Java 编写 JDBC 驱动程序则 JDBC代码在所有 Java 平台上(从网络计算机到大型机)都可以自 动安装、移植并保证安全性。

??总之,JDBC API 对于基本的 SQL 抽象和概念是一种自然的 Java 接口。它建立在 ODBC 上而不是从零开始。因此,熟悉 ODBC 的程序员将发现 JDBC 很容易使用。JDBC 保留了 ODBC 的基本设计特征;事实上,两种接口都基于 X/Open SQL CLI(调用级接口)。它们之间最大的区别在于:JDBC 以 Java 风格与优点为基础并进行优化,因此更加易于使用。

??目前,Microsoft 又引进了 ODBC 之外的新 API: RDO、 ADO 和OLE DB。这些设计在许多方面与 JDBC 是相同的,即它们都是面向对象的数据库接口且基于可在 ODBC 上实现的类。但在这些接口中,我们未看见有特别的功能使我们要转而选择它们来替代 ODBC,尤其是在 ODBC 驱动程序已建立起较为完善的市场的情况下。它们最多也就是在 ODBC 上加了一种装饰而已。

数据库链接字符串大全

SQL Server 2005

SQL Native Client ODBC Driver

标准安全连接

Driver={SQL Native Client};Server=myServerAddress; Database=myDataBase;Uid=myUsername;Pwd=myPassword;

受信的连接

Driver={SQL Native Client}; Server=myServerAddress;Database=myDataBase;Trusted_Connection=yes;

“Integrated Security=SSPI” 与 “Trusted_Connection=yes” 是相同的。

连接到一个SQL Server实例

指定服务器实例的表达式和其他SQL Server的连接字符串相同。

Driver={SQL Native Client};Server=myServerName/theInstanceName;Database=myDataBase; Trusted_Connection=yes;

指定用户名和密码

oConn.Properties(“Prompt”) = adPromptAlways Driver={SQL Native Client}; Server=myServerAddress;Database=myDataBase;

使用MARS (multiple active result sets)

Driver={SQL Native Client};Server=myServerAddress;Database=myDataBase; Trusted_Connection=yes;MARS_Connection=yes;

“MultipleActiveResultSets=true”与MARS_Connection=yes”是相同的。

使用ADO.NET 2.0作为MARS的模块。 MARS不支持ADO.NET 1.0和ADO.NET 1.1。

验证网络数据

Driver={SQL Native Client}; Server=myServerAddress;Database=myDataBase; Trusted_Connection=yes;Encrypt=yes;

使用附加本地数据库文件的方式连接到本地SQL Server Express实例

Driver={SQL Native Client};Server=./SQLExpress; AttachDbFilename=c:/asd/qwe/mydbfile.mdf; Database=dbname;Trusted_Connection=Yes;

为何要使用Database参数?如果同名的数据库已经被附加,那么SQL Server将不会重新附加。

使用附加本地数据文件夹中的数据库文件的方式连接到本地SQL Server Express实例

Driver={SQL Native Client};Server=./SQLExpress; AttachDbFilename=|DataDirectory|mydbfile.mdf; Database=dbname; Trusted_Connection=Yes;

为何要使用Database参数?如果同名的数据库已经被附加,那么SQL Server将不会重新附加。

数据库镜像

Data Source=myServerAddress; Failover Partner=myMirrorServer;Initial Catalog=myDataBase;Integrated Security=True;

SQL Native Client OLE DB Provider

标准连接

Provider=SQLNCLI;Server=myServerAddress; Database=myDataBase;Uid=myUsername;Pwd=myPassword;

受信的连接

Provider=SQLNCLI;Server=myServerAddress; Database=myDataBase;Trusted_Connection=yes;

连接到SQL Server实例

指定服务器实例的表达式和其他SQL Server的连接字符串相同。

Provider=SQLNCLI;Server=myServerName/theInstanceName; Database=myDataBase;Trusted_Connection=yes;

使用帐号和密码

oConn.Properties(“Prompt”) = adPromptAlways oConn.Open “Provider=SQLNCLI;Server=myServerAddress;DataBase=myDataBase;

使用MARS (multiple active result sets)

Provider=SQLNCLI;Server=myServerAddress;Database=myDataBase;Trusted_Connection=yes;MarsConn=yes;

“MultipleActiveResultSets=true”和”MARS_Connection=yes”是相同的。

使用ADO.NET 2.0作为MARS的模块。 MARS不支持ADO.NET 1.0和ADO.NET 1.1。

验证网络数据

Provider=SQLNCLI;Server=myServerAddress; Database=myDataBase;Trusted_Connection=yes;Encrypt=yes;

使用附加本地数据库文件的方式连接到本地SQL Server Express实例

Provider=SQLNCLI;Server=./SQLExpress;AttachDbFilename=c:/asd/qwe/mydbfile.mdf; Database=dbname;Trusted_Connection=Yes;

使用附加本地数据文件夹中的数据库文件的方式连接到本地SQL Server Express实例

Provider=SQLNCLI;Server=./SQLExpress; AttachDbFilename=|DataDirectory|mydbfile.mdf; Database=dbname;Trusted_Connection=Yes;

数据库镜像

Data Source=myServerAddress;Failover Partner=myMirrorServer; Initial Catalog=myDataBase;Integrated Security=True;

SqlConnection (.NET)

标准连接

Data Source=myServerAddress; Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;

Standard Security alternative syntax

Server=myServerAddress;Database=myDataBase;User ID=myUsername;Password=myPassword;Trusted_Connection=False;

受信任的连接

Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;

Trusted Connection alternative syntax

Server=myServerAddress;Database=myDataBase;Trusted_Connection=True;

连接到一个SQL Server的实例

指定服务器实例的表达式和其他SQL Server的连接字符串相同。

Server=myServerName/theInstanceName;Database=myDataBase;Trusted_Connection=True;

来自WinCE设备的安全连接

Data Source=myServerAddress; Initial Catalog=myDataBase; Integrated Security=SSPI;User ID=myDomain/myUsername;Password=myPassword;

仅能用于CE设备。

带有IP地址的连接

Data Source=190.190.200.100,1433;Network Library=DBMSSOCN;Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword;

使用MARS (multiple active result sets)

Server=myServerAddress;Database=myDataBase;Trusted_Connection=True; MultipleActiveResultSets=true;

使用ADO.NET 2.0作为MARS的模块。 MARS不支持ADO.NET 1.0和ADO.NET 1.1。

使用附加本地数据库文件的方式连接到本地SQL Server Express实例

Server=./SQLExpress;AttachDbFilename=c:/asd/qwe/mydbfile.mdf; Database=dbname;Trusted_Connection=Yes;

使用附加本地数据文件夹中的数据库文件的方式连接到本地SQL Server Express实例

Server=./SQLExpress;AttachDbFilename=|DataDirectory|mydbfile.mdf; Database=dbname;Trusted_Connection=Yes;

使用在SQL Server Express实例上的用户实例

Data Source=./SQLExpress;Integrated Security=true;AttachDbFilename=|DataDirectory|/mydb.mdf;User Instance=true;

数据库镜像

Data Source=myServerAddress;Failover Partner=myMirrorServer;Initial Catalog=myDataBase;Integrated Security=True;

Asynchronous processing

Server=myServerAddress; Database=myDataBase; Integrated Security=True; Asynchronous Processing=True;

MySQL

MyODBC

MyODBC 2.50 本地数据库

Driver={mySQL};Server=localhost;Option=16834;Database=myDataBase;

MyODBC 2.50 远程数据库

Driver={mySQL}; Server=myServerAddress;Port=3306; Option=131072;Stmt=; Database=myDataBase; Uid=myUsername; Pwd=myPassword;

MyODBC 3.51 本地数据库

Driver={MySQL ODBC 3.51 Driver};Server=localhost;Database=myDataBase; User=myUsername;Password=myPassword;Option=3;

MyODBC 3.51 远程数据库

Driver={MySQL ODBC 3.51 Driver};Server=data.domain.com;Port=3306; Database=myDataBase; User=myUsername; Password=myPassword;Option=3;

OLE DB, OleDbConnection (.NET)

标准

Provider=MySQLProv; Data Source=mydb; User Id=myUsername; Password=myPassword;

Connector/Net 1.0 (.NET)

标准

Server=myServerAddress; Database=myDataBase; Uid=myUsername;Pwd=myPassword;

默认端口号是3306

指定端口号

Server=myServerAddress; Port=1234;Database=myDataBase; Uid=myUsername; Pwd=myPassword;

命名管道

Server=myServerAddress; Port=-1;Database=myDataBase; Uid=myUsername;Pwd=myPassword;

如果端口是-1,意思是告诉驱动程序使用命名管道网络协议来连接数据库。

MySqlConnection (.NET)

eInfoDesigns.dbProvider

Data Source=myServerAddress; Database=myDataBase;User ID=myUsername; Password=myPassword; Command Logging=false;

SevenObjects MySqlClient (.NET)

标准

Host=myServerAddress; UserName=myUsername; Password=myPassword; Database=myDataBase;

Core Labs MySQLDirect (.NET)

标准

User ID=root;Password=myPassword;Host=localhost;Port=3306;Database=myDataBase; Direct=true;Protocol=TCP;Compress=false;Pooling=true;Min Pool Size=0;Max Pool Size=100;Connection Lifetime=0;

MySQLDriverCS (.NET)

标准

Location=myServerAddress; Data Source=myDataBase; UserID=myUsername; Password=myPassword; Port=3306;Extended Properties=”“”“;

Oracle

ODBC

新版本

Driver={Microsoft ODBC for Oracle}; Server=myServerAddress; Uid=myUsername;Pwd=myPassword;

旧版本

Driver={Microsoft ODBC Driver for Oracle}; ConnectString=OracleServer.world; Uid=myUsername; Pwd=myPassword;

OLE DB, OleDbConnection (.NET)

标准连接

此连接字符串适用了微软的驱动。

Provider=msdaora;Data Source=MyOracleDB; User Id=myUsername; Password=myPassword;

受信连接

Provider=msdaora; Data Source=MyOracleDB; Persist Security Info=False; Integrated Security=Yes;

标准连接

由Oracle提供的驱动。

Provider=OraOLEDB. Oracle;Data Source=MyOracleDB; User Id=myUsername; Password=myPassword;

受信连接

Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;OSAuthent=1;

Oracle.DataAccess.Client.OracleConnection

标准

Data Source=TORCL;User Id=myUsername; Password=myPassword;

标准安全连接

Data Source=TORCL;Integrated Security=SSPI;

使用ODP.NET而不使用tnsnames.ora

Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=MyHost) (PORT=MyPort)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=MyOracleSID))); User Id=myUsername;Password=myPassword;

OracleConnection, Oracle Data Provider, ODP.NET.

System.Data.OracleClient.OracleConnection.

标准

用于8i RC3及以后的版本

Data Source=MyOracleDB;Integrated Security=yes;

指定用户名和密码

用于8i RC3及以后的版本

Data Source=MyOracleDB; User Id=myUsername; Password=myPassword; Integrated Security=no;

忽略tnsnames.ora

另一种不需要使用DSN的连接方式

SERVER=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=MyHost) (PORT=MyPort))(CONNECT_DATA=(SERVICE_NAME=MyOracleSID))); uid=myUsername;pwd=myPassword;

使用上面的连接字符串可能会导致Visual Studio报告错误。

如果您在使用中出现了这些问题,请使用下面的这种连接方式。

Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=MyHost)(PORT=MyPort)) (CONNECT_DATA=(SERVICE_NAME=MyOracleSID))); User Id=myUsername; Password=myPassword;

使用连接池

如果连接池服务程序找不到已经存在的连接池,它将根据连接字符串创建一个新的池。

否则将循环使用池中已存在的连接。

Data Source=myOracleDB; User Id=myUsername; Password=myPassword;Min Pool Size=10;Connection Lifetime=120; Connection Timeout=60;Incr Pool Size=5;Decr Pool Size=2;

Windows身份验证

Data Source=myOracleDB;User Id=/;

特权连接

使用SYSDBA

Data Source=myOracleDB;User Id=SYS;Password=SYS; DBA Privilege=SYSDBA;

特权连接

使用SYSOPER

Data Source=myOracleDB;User Id=SYS;Password=SYS;DBA Privilege=SYSOPER;

密码过期处理过程

当使用一个连接字符串连接数据库后,出现”密码已过期”的错误时。

请执行OpenWithNewPassword命令来提供新密码。

Data Source=myOracleDB;User Id=myUsername;Password=myPassword; oConn.OpenWithNewPassword(sTheNewPassword);

Proxy验证

Data Source=myOracleDB; User Id=myUsername; Password=myPassword;Proxy User Id=pUserId; Proxy Password=pPassword;

Core Labs OraDirect (.NET)

Standard

User ID=myUsername; Password=myPassword; Host=ora;Pooling=true; Min Pool Size=0;Max Pool Size=100;Connection Lifetime=0;

Data Shape

MS Data Shape

Provider=MSDataShape.1;Persist Security Info=False;Data Provider=MSDAORA; Data Source=orac;User Id=myUsername; Password=myPassword;

AS/400 (iSeries)

IBM .Net Data Provider

您需要使用 IBM.Data.DB2.iSeries 命名空间

DataSource=myServerAddress;UserID=myUsername; Password=myPassword;DataCompression=True;

OLE DB, OleDbConnection (.NET)

IBM Client Access OLE DB 适配器

Provider=IBMDA400;Data Source=MY_SYSTEM_NAME;User Id=myUsername; Password=myPassword;

MY_SYSTEM_NAME是在OperationsNavigator中的系统连接名称。

IBM Client Access OLE DB 适配器

Provider=IBMDA400;Data Source=MY_SYSTEM_NAME;User Id=myUsername; Password=myPassword;Default Collection=MY_LIBRARY;

MY_SYSTEM_NAME是系统连接的名称,MY_LIBRARY是iSeries Navigator中library的名称。

ODBC

IBM Client Access ODBC 驱动

Driver={Client Access ODBC Driver (32-bit)};System=my_system_name; Uid=myUsername; Pwd=myPassword;

IBM iSeries Access ODBC 驱动

这个驱动需要比IBM Client Access ODBC的驱动更新。

Driver={iSeries Access ODBC Driver};System=my_system_name; Uid=myUsername; Pwd=myPassword;

Caché

ODBC

标准

DRIVER={InterSystems ODBC};SERVER=myServerAddress; DATABASE=myDataBase; UID=myUsername;PWD=myPassword;

特定端口

DRIVER={InterSystems ODBC};SERVER=myServerAddress;PORT=12345; DATABASE=myDataBase; UID=myUsername;PWD=myPassword;

特定协议

DRIVER={InterSystems ODBC};SERVER=myServerAddress;PORT=12345; DATABASE=myDataBase; PROTOCOL=TCP;STATIC CURSORS=1;UID=myUsername;PWD=myPassword;

IBM DB2

OLE DB, OleDbConnection (.NET)

TCP/IP

Provider=DB2OLEDB;Network Transport Library=TCPIP;Network Address=XXX.XXX.XXX.XXX; Initial Catalog=MyCtlg;Package Collection=MyPkgCol;Default Schema=Schema;User ID=myUsername; Password=myPassword;

APPC

Provider=DB2OLEDB;APPC Local LU Alias=MyAlias;APPC Remote LU Alias=MyRemote; Initial Catalog=MyCtlg;Package Collection=MyPkgCol; Default Schema=Schema;User ID=myUsername;Password=myPassword;

IBM提供的OLE DB适配器

TCP/IP

Provider=IBMDADB2;Database=myDataBase; Hostname=myServerAddress; Protocol=TCPIP;Port=50000; Uid=myUsername;Pwd=myPassword;

ODBC

标准

Driver={IBM DB2 ODBC DRIVER}; Database=myDataBase;Hostname=myServerAddress; Port=1234;Protocol=TCPIP;Uid=myUsername;Pwd=myPassword;

Firebird

ODBC - IBPhoenix Open Source

标准

Driver=Firebird/InterBase(r) driver;Uid=SYSDBA; Pwd=masterkey; DbName=D:/FIREBIRD/examples/TEST.FDB;

.NET - Firebird .Net Data Provider

标准

User=SYSDBA;Password=masterkey;Database=SampleDatabase.fdb; DataSource=localhost;Port=3050;Dialect=3; Charset=NONE;Role=; Connection lifetime=15;Pooling=true;MinPoolSize=0;MaxPoolSize=50;Packet Size=8192;ServerType=0;

Informix

ODBC

Informix 3.30

Dsn=;Driver={INFORMIX 3.30 32 BIT};Host=hostname;Server=myServerAddress; Service=service-name; Protocol=olsoctcp; Database=myDataBase;Uid=myUsername;Pwd=myPassword;

Informix-CLI 2.5:

Driver={Informix-CLI 2.5 (32 Bit)};Server=myServerAddress; Database=myDataBase; Uid=myUsername;Pwd=myPassword;

OLE DB

IBM Informix OLE DB Provider

Provider=Ifxoledbc.2;Password=myPassword; User ID=myUsername; Data [email protected];Persist Security Info=true;

IBM Informix .NET Provider

IBM.Data.Informix.IfxConnection(命名空间)

Database=myDataBase;Host=192.168.10.10; Server=db_engine_tcp; Service=1492; Protocol=onsoctcp;UID=myUsername;Password=myPassword;

##Ingres

ODBC

DSN-less

Provider=MSDASQL.1;DRIVER=Ingres;SRVR=xxxxx;DB=xxxxx;Persist SecurityInfo=False;Uid=myUsername;Pwd=myPassword; SELECTLOOPS=N; ExtendedProperties=”SERVER=xxxxx;DATABASE=xxxxx;SERVERTYPE=INGRES”;

Interbase

ODBC, Easysoft

本地计算机

Driver={Easysoft IB6 ODBC}; Server=localhost ;Database=localhost:C:/mydatabase.gdb; Uid=myUsername; Pwd=myPassword;

远程计算机

Driver={Easysoft IB6 ODBC}; Server=myServerAddress; Database=ComputerName: C:/mydatabase.gdb; Uid=myUsername;Pwd=myPassword;

ODBC, Intersolv

本地计算机

Driver={INTERSOLV InterBase ODBC Driver (*.gdb)}; Server=localhost; Database=localhost: C:/mydatabase.gdb; Uid=myUsername; Pwd=myPassword;

远程计算机

Driver={INTERSOLV InterBase ODBC Driver (*.gdb)}; Server=myServerAddress; Database=ComputerName: C:/mydatabase.gdb;Uid=myUsername; Pwd=myPassword;

OLE DB, SIBPROvider

标准

provider=sibprovider;location=localhost:;data source=c:/databases/gdbs/mygdb.gdb; user id=SYSDBA; Password=masterkey;

版本 2.x

Provider=SIBPROvider.2; Data Source=localhost:c:/databases/gdbs/mygdb.gdb; Persist Security Info=False;

指定字符集

provider=sibprovider;location=localhost:;data source=c:/databases/gdbs/mygdb.gdb; user id=SYSDBA; Password=masterkey; character set=ISO8859_1;

指定角色

provider=sibprovider;location=localhost:; data source=c:/databases/gdbs/mygdb.gdb;user id=SYSDBA; Password=masterkey; role=DIGITADORES;

Lightbase

标准连接

标准

User=myUsername;Password=myPassword;UDB=USERBASE;Server=myServerAddress;

Paradox

ODBC

5.X

Driver={Microsoft Paradox Driver (*.db )}; DriverID=538;Fil=Paradox 5.X; DefaultDir=c:/pathToDb/;Dbq=c:/pathToDb/;CollatingSequence=ASCII;

7.X

Provider=MSDASQL.1;Persist Security Info=False; Mode=Read;Extended Properties=DSN=Paradox; DBQ=C:/myDb;DefaultDir=C:/myDb;DriverId=538; FIL=Paradox 7.X; MaxBufferSize=2048;PageTimeout=600;;Initial Catalog=C:/myDb;

请注意:以上的方法仅能从数据库获取数据。

Intersolv 3.11 ODBC Driver

7.X

DSN=MyDSN;AUT=1;CT=7;DQ=0;FOC=0;IS=1; PW=myPassword;USF=1;ULQ=1;

并不是所有参数都是必填的。大多数参数都能够在DSN中进行设置。

Parameters definition

AUT - ApplicationUsingThreads

CT - CreateType

DB - Database

DSN - DataSourceName

DQ - DeferQueryEvaluation

FOC - FileOpenCache

IS - IntlSort

ND - NetDir

PW - Passwords

USF - UltraSafeCommit

ULQ - UseLongQualifiers

OleDbConnection (.NET)

标准

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:/myDb;Extended Properties=Paradox 5.x;

注意:您仅需要指定数据库存放的地址而无需指定数据库的名称。

SQLBase

OLE DB

标准

Provider=SQLBaseOLEDB;Data source=myServerAddress; Location=myDataBase; User Id=myUsername; Password=myPassword;

SQLBase .NET Data Provider

标准SQLBase连接

DataSource=myServerAddress; UserId=myUsername; Password=myPassword;Poolsize=5;Connection Lifetime=60;

“Poolsize” 表示多少SQLBase连接被打开,不论它们是否被立即使用。默认值是5。

“Connection Lifetime” 表示连接存在多长时间(单位:秒)。默认是60秒。

SQL Serve

ODBC

标准连接

Driver={SQL Server};Server=myServerAddress; Database=myDataBase;Uid=myUsername;Pwd=myPassword;

受信的连接

Driver={SQL Server};Server=myServerAddress; Database=myDataBase;Trusted_Connection=Yes;

指定帐号和密码

oConn.Properties(“Prompt”) = adPromptAlways Driver={SQL Server}; Server=myServerAddress;Database=myDataBase;

OLE DB, OleDbConnection (.NET)

标准连接

Provider=sqloledb;Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;

受信的连接

Provider=sqloledb;Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;

使用serverName/instanceName作为数据源可以指定SQL Server实例。

连接到一个SQL Server的实例

指定服务器实例的表达式和其他SQL Server的连接字符串相同。

Provider=sqloledb; Data Source=myServerName/theInstanceName; Initial Catalog=myDataBase;Integrated Security=SSPI;

指定帐户和密码

oConn.Provider = “sqloledb” oConn.Properties(“Prompt”) = adPromptAlways Data Source=myServerAddress;Initial Catalog=myDataBase;

使用IP地址的连接

Provider=sqloledb;Data Source=190.190.200.100,1433; Network Library=DBMSSOCN;Initial Catalog=myDataBase; User ID=myUsername; Password=myPassword;

SqlConnection (.NET)

标准连接

Data Source=myServerAddress;Initial Catalog=myDataBase; User Id=myUsername;Password=myPassword;

Standard Security alternative syntax

Server=myServerAddress;Database=myDataBase;User ID=myUsername;Password=myPassword;Trusted_Connection=False;

受信任的连接

Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;

Trusted Connection alternative syntax

Server=myServerAddress;Database=myDataBase;Trusted_Connection=True;

连接到SQL Server实例

指定服务器实例的表达式和其他SQL Server的连接字符串相同。

Server=myServerName/theInstanceName;Database=myDataBase; Trusted_Connection=True;

仅能用于CE设备。

Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;User ID=myDomain/myUsername;Password=myPassword;

带有IP地址的连接

Data Source=190.190.200.100,1433;Network Library=DBMSSOCN;Initial Catalog=myDataBase; User ID=myUsername;Password=myPassword;

指定包的大小

Server=myServerAddress;Database=myDataBase;User ID=myUsername;Password=myPassword; Trusted_Connection=False;Packet Size=4096;

默认的包大小为8192字节。

Data Shape

MS Data Shape

Provider=MSDataShape;Data Provider=SQLOLEDB;Data Source=myServerAddress; Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword;

絮叨絮叨

??基于最初学习数据库时的经历,个人觉得如果一项技术/一件事情经过很长时间的努力都没有结果的话,不妨先放一放,过段时间再来研究/处理可能会有新的进展!虽然你是把它放在一边了,可能你的大脑深处并没有放下,而是在默默的关注的它,默默的在寻找解决的办法。

??现在技术越来越开放了,很多技术都可以在网上找到,但你要学会寻找的方法;同样一个问题,使用同样的搜索引擎,一百个人可能找到的结果都不一样,使用的时间也不一样;虽然现在搜索引擎已经很智能了,分词也做得很好,但相对人脑来说,我觉得还相差甚远;其实很多问题问题身边的朋友或同事可能解决起来是最快最高效的,但程序员大多是内向的,要强的,只喜欢自己寻找答案;当通过搜索引擎找不到满意的答案时,我们可以去一些论坛发帖求助,去问答类网站求助;国内的网站解决不了,很多人喜欢去墙外寻找答案;这里就涉及到一个关键问题“英语”!要想能快速的学习计算机知识,解决相关问题,一定要好好学习英语;这方面外国人比我们有先天的优势,不学就会了一半。



PS:微笑应该是人类独特的一种微妙表情,是人类的体态语言,是一种不确切的语言,是一种无声的感召,一首无曲的小调,是一朵无香的尚未绽放的小花,是一片飘忽不定的似幻似真的淡淡白云,更是一种抚慰心灵的药剂。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-05 22:21:44

从HelloWorld启航——数据库连接字符串的困惑的相关文章

.NET跨平台之旅:数据库连接字符串写法引发的问题

最近在一个ASP.NET Core站点中遇到一个奇怪问题.当用dotnet run命令启动站点后,开始的一段时间请求执行速度超慢,有时要超过20秒,有时甚至超过1分钟,日志中会记录这样的错误: System.Data.SqlClient.SqlException: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was n

笨鸟先飞随笔:ADO.NET中有关C#从App.config中使用数据库连接字符串的方法

应用程序配置文件是标准的 XML 文件,XML 标记和属性是区分大小写的.它是可以按需要更改的,开发人员可以使用配置文件来更改设置,而不必重编译应用程序.在App.config文件中,根节点是configuration,在根节点下可以创建连接字符串的节点,也就是connectionStrings. 一.关于App.config的配置方法 1.在项目中添加一个应用程序配置文件(App.config),在根节点下添加连接字符串的节点<connectionStrings></connectio

修改PDF.NET SOD源代码以支持加密的数据库连接字符串

看了下PDF.NET SOD的代码,好像数据库连接字符串,只支持明文写在config文件的.这在一定程度上存在数据库账号密码泄漏的风险,于是鼓捣了源代码中的PWMIS.DataProvider.Adapter.MyDB类,让PDF.NET SOD能读取加密过的字符串. 首先上加密解密类代码: using System; using System.Security.Cryptography; using System.Text; namespace Cxw.Common { /// <summar

如何得到一个数据库连接字符串

许就不用就会忘掉的一些东西,还是先记下吧. 步骤: 1.新建一个txt文本文档,然后把后缀名改为udl 2.打开  新建文本文档.udl ,并选择相应的数据库进行连接,之后点击 “测试连接”,成功之后关闭. 3.将后缀名改回txt,打开txt文本文档就可以看到已经创建好了数据库连接字符串了. 还可以做高级属性设置:

ASP.NET数据库连接字符串的加密与解密

ASP.NET web.config中,数据库连接字符串的加密与解密. 虽然不怎么新鲜,但相信还是有许多人不知道,好,不说废话,直接给方法:开始--->运行,输入cmd,接着输入以下内容 加密: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -pef "connectionStrings" "你的Web项目路径" 解密: C:\WINDOWS\Microsoft.NET\Fram

MS SQL Server 数据库连接字符串

MS SQL Server 数据库连接字符串详解 C# 连接串设置超时时间 SqlConnection.ConnectionTimeout 与 SqlCommand.CommandTimeout 及SqlBulkCopy.BulkCopyTimeout属性 https://msdn.microsoft.com/zh-cn/library/8xx3tyca.aspx  SQL Server 连接池 (ADO.NET) http://www.docin.com/p-576271306.html 4.

web.config connectionStrings 数据库连接字符串的解释

先来看一下默认的连接SQL Server数据库配置<connectionStrings>   <add name="LocalSqlServer" connectionString="Data Source=.\SQLExpress;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="

数据库连接字符串

数据库连接 1.在文件App.config内添加连接 1 <?xml version="1.0" encoding="utf-8" ?> 2 <configuration> 3 <connectionStrings> 4 <!--数据库认证--> 5 <add name="Database1ConnectionString" 6 connectionString="Data Sour

数据库连接字符串大全

以下内容均为转载未经验证. 原文地址 http://www.cnblogs.com/daview/archive/2004/04/10/5763.aspx 很感谢creativepeter(头皮屑)提供的本连接地址(http://www.connectionstrings.com/) SQL Server ODBC  Standard Security: "Driver={SQL Server};Server=Aron1;Database=pubs;Uid=sa;Pwd=asdasd;"