重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
c#中连接Oracle数据库时使用的连接字符串:
网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、重庆小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了湖口免费建站欢迎大家使用!
var connectionString = "Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)
(HOST=192.168.115.33) (PORT=1521)))(CONNECT_DATA=(SERVICE_NAME= testDemo)));
User Id=oracle_test; Password=oracle";
其中Oracle数据库服务器IP:192.168.115.33
ServiceName:testDemo
用户名:oracle_test
密码:oracle
其他连接方法参考:
其实软件上有写的,请对号入座:
Txt: Txt Path=E:\cyqdata\
Xml: Xml Path=E:\cyqdata\
Access: Provider=Microsoft.Jet.OLEDB.4.0; Data Source=E:\cyqdata.mdb
MySql: host=localhost;port=3306;database=cyqdata;uid=root;pwd=123456;Convert Zero Datetime=True;
Mssql: server=.;database=cyqdata;uid=sa;pwd=123456;
Sybase: data source=127.0.0.1;port=5000;database=cyqdata;uid=sa;pwd=123456;
Sqlite: Data Source=E:\cyqdata.db;failifmissing=false;
Oracle: Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT = 1521)))(CONNECT_DATA =(SID = DataBaseName)));User ID=sa;password=123456
在利用ado连接数据库之前,需要做一些准备
1.用#import指令引入ADO类型库
我们在stdafx.h中加入如下语句:
#import "c:program filescommon filessystemadomsado15.dll" no_namespace rename("EOF","adoEOF") 。
这一语句有何作用呢?其最终作用同我们熟悉的#i nclude类似,编译的时候系统会为我们生成msado15.tlh,ado15.tli两个C++头文件来定义ADO库。
几点说明:
(1) 您的环境中msado15.dll不一定在这个目录下,请按实际情况修改
(2) 在编译的时候肯能会出现如下警告,对此微软在MSDN中作了说明,并建议我们不要理会这个警告。msado15.tlh(405) : warning C4146: unary minus operator applied to unsigned type, result still unsigned
2、初始化OLE/COM库环境
必须注意的是,ADO库是一组COM动态库,这意味应用程序在调用ADO前,必须初始化OLE/COM库环境。在MFC应用程序里,一个比较好的方法是在应用程序主类的InitInstance成员函数里初始化OLE/COM库环境。
BOOL CMyAdoTestApp::InitInstance()
{
if(!AfxOleInit())//这就是初始化COM库
{
AfxMessageBox(“OLE初始化出错!”);
return FALSE;
}
}
3.ADO库包含三个基本接口:_ConnectionPtr接口、_CommandPtr接口和_RecordsetPtr接口。与数据库的连接就是用_ConnectionPtr接口,它的连接字符串可以是自己直接写,也可以指向一个ODBC DSN。以下的例子都测试通过,顺便写了SQL Server的例子。
BOOL CTestconDlg::ConnectDatabase()
{
CString m_server,m_data,m_uid,m_pwd;
m_server="192.168.0.24";//服务器ip或名称
m_data="crmdb";//ODBC数据源
m_uid="njcrm";//用户名
m_pwd="crmdbo";//密码
BOOL retFt=false;
HRESULT hr;
try
{
hr = m_pConnection.CreateInstance("ADODB.Connection");///创建Connection对象
if(SUCCEEDED(hr))
{
_bstr_t connStr;
m_pConnection-CursorLocation=adUseClient;
//begin---------------Oracle ODBC 配置数据源-------------------------------------
//控制面板-管理工具-数据源(ODBC)-系统DNS-添加-Microsoft ODBC for Oracle-完成-配置……
// connStr="DSN="+m_data;
// m_pConnection-Open(_bstr_t(connStr),(_bstr_t)m_uid,(_bstr_t)m_pwd,adConnectUnspecified);
//end---------------Oracle ODBC 配置数据源---------------------------------------
//begin---------------Oracle 标准安全级别---------------------------------------
// connStr="Provider=OraOLEDB.Oracle;User ID=njcrm;Password=crmdbo;Data Source=192.168.0.24;";
// m_pConnection-Open(_bstr_t(connStr),(_bstr_t)_T(""),(_bstr_t)_T(""),adConnectUnspecified);
//end---------------Oracle 标准安全级别---------------------------------------
//begin---------------Oracle 微软格式----------------------------------
自定义别名 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = IP地址)(PORT = 端口号))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SID = Oracle服务器名)
)
)
jdbc:oracle:thin:@服务器地址(本地的话写localhost或者127.0.0.1):1521:schema
schema即你的数据库实例名,一般为orcl
可以通过查询系统视图v$instance
如,select instance_name from v$instance
希望能帮到你!