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(nvarc
har(11)),NAME(nvarchar(50)),SEX(char(1)),TEL(nvarchar(11)),INCOME(NUMBERIC),JO
B(nvarchar(50))。

4.建立一个c#工程项目,连接字符串这样写:const string connstr =
“DSN=chicoDB;UID=System;Pwd=zaqwsx;”;

前面要using System.Data.Odbc; 想建立连接的话就写:OdbcConnection cn = new
OdbcConnection(connstr);

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();

操作完毕…

这里要注意的一点,如果你在sql语句末尾加入了’;',那么Oracle就会报错。另外我本来想用OdbcParament来写.后来屡次失败。不知道愿意。有写出
来的且能运行的.帮忙贴在我的评论里。