ODBC连接Oracle 9i, C#连接字符串收藏
1.首先装好你的Oracle 9i。然后再控制面板->管理工具->数据源(odbc)2.双击数据源(odbc)->选择系统DSN->添加->Microsoft ODBC for Oracle , 数据源名称:chicoDB (这个是用来在C#中写连接字符串用的), 服务器名称:chicoDB (这个是你安装Oracle的时候建立的sid名称即数据库名)。然后确定3.打开你的pl/sql 建立几个表(新建->表)..我使用的system帐号登陆权限为SYSDBA,数据库为chicoDB.(不过使用PL/SQL好像不用用户名密码也可以登陆)比如我建立的是client 表。我的所有者为system.在列中输入:CLIENTID (nvarchar(11)),ID(nvarchar(11)),NAME(nvarchar(50)),SEX(char(1)),TEL(nvarchar(11)),INCOME(NUMBERIC),JOB(nvarchar(50))。4.建立一个c#工程项目,连接字符串这样写:const string connstr = "DSN=chicoDB;UID=System;Pwd=zaqwsx;";前面要using System.Data.Odbc; 想建立连接的话就写:OdbcConnection cn = new OdbcConnection(connstr);
1.首先装好你的Oracle 9i。然后再控制面板->管理工具->数据源(odbc)2.双击数据源(odbc)->选择系统DSN->添加->Microsoft ODBC for Oracle , 数据源名称:chicoDB (这个是用来在C#中写连接字符串用的), 服务器名称:chicoDB (这个是你安装Oracle的时候建立的sid名称即数据库名)。然后确定3.打开你的pl/sql 建立几个表(新建->表)..我使用的system帐号登陆权限为SYSDBA,数据库为chicoDB.(不过使用PL/SQL好像不用用户名密码也可以登陆)比如我建立的是client 表。我的所有者为system.在列中输入:CLIENTID (nvarchar(11)),ID(nvarchar(11)),NAME(nvarchar(50)),SEX(char(1)),TEL(nvarchar(11)),INCOME(NUMBERIC),JOB(nvarchar(50))。4.建立一个c#工程项目,连接字符串这样写:const string connstr = "DSN=chicoDB;UID=System;Pwd=zaqwsx;";前面要using System.Data.Odbc; 想建立连接的话就写:OdbcConnection cn = new OdbcConnection(connstr);
解决方案 »
- c# 开辟超大数组 System.OutOfMemoryException问题
- 如何通过一个dll引用其他多个dll
- int[,] aArray = new int[3,2] 怎么获得aArray的第一维长度,也就是 3,貌似用aArray.Length不对,会得到6,新年一问,谢谢大家
- 在线等,各位大侠请帮帮忙,水晶报表问题。。。。。
- 用正则表达试 去掉前面 第一第二个逗号与其间的数字,怎写
- (50分)--------- 请教几个dataGridView的简单问题,谢谢!
- 我不知道这是怎么回事 安装vs2008中出现这样的对话框 里边的内容错位
- 怎么写dll文件接口
- NET中的COM转换问题-----急,救命呀!!!
- 为什么不能返回时间?
- 关于网络连接判断问题请教
- C# machine.config 文件配置损坏了,怎么办,高人请指教~!~!谢谢了.
const string connstr = "DSN=chicoDB;UID=System;Pwd=zaqwsx;";
OdbcConnection cn= new OdbcConnection(connstr);
cn.Open();
// 这里的基本上都是string类型,出了income是double
String sqlInsert = "insert into System.client values('" + clientId + "','" + id + "','" + name + "',to_char('" + sex + "'),'" + tel + "'," + income + ",'" + job + "')";
OdbcCommand oc = new OdbcCommand(slqInsert, cn);
oc.CommandType = System.Data.CommandType.Text;
int rows =oc.ExecuteNonQuery();
System.Console.WriteLine(rows);// 打印被影响的行数
String sql = "select * from system.client";
oc.CommandText = sql;
OdbcDataReader dbreader= oc.ExecuteReader();
//这个Reader好像不能脱机操作..(具体没有查)
object[] o = null;
if (dbreader.HasRows)
{
o = new object[dbreader.FieldCount];
dbreader.GetValues(o);
}
// 这里你自己写个打印语句将查询出来的记录打印出来吧..
dbreader.Close();
oc.Dispose();
cn.Close();
const string connstr = "DSN=chicoDB;UID=System;Pwd=zaqwsx;";
OdbcConnection cn= new OdbcConnection(connstr);
cn.Open();
// 这里的基本上都是string类型,出了income是double
String sqlInsert = "insert into System.client values('" + clientId + "','" + id + "','" + name + "',to_char('" + sex + "'),'" + tel + "'," + income + ",'" + job + "')";
OdbcCommand oc = new OdbcCommand(slqInsert, cn);
oc.CommandType = System.Data.CommandType.Text;
int rows =oc.ExecuteNonQuery();
System.Console.WriteLine(rows);// 打印被影响的行数
String sql = "select * from system.client";
oc.CommandText = sql;
OdbcDataReader dbreader= oc.ExecuteReader();
//这个Reader好像不能脱机操作..(具体没有查)
object[] o = null;
if (dbreader.HasRows)
{
o = new object[dbreader.FieldCount];
dbreader.GetValues(o);
}
// 这里你自己写个打印语句将查询出来的记录打印出来吧..
dbreader.Close();
oc.Dispose();
cn.Close();
const string connstr = "DSN=chicoDB;UID=System;Pwd=zaqwsx;";
这样写,好像不能在客户端程序中访问到这个“服务器”的dsn。
我在CodeProject上看到这样一个连接串:
("Driver={Microsoft ODBC for Oracle};Server=OracleServer.world;"
"Uid=MyUsername;Pwd=MyPassword;");
现在还不太明白这里Server是不是就是指向远程ODBC,刚才试了试,报错了,未能找到数据源。