zoukankan      html  css  js  c++  java
  • Oracle使用ODBC连接配置

    该配置是在windows 7 32位下进行的,程序已经通过了测试(使用VBS进行的测试)

    1.文件下载

    --------------------------------------------------------------------------

    下载地址http://www.oracle.com/technetwork/topics/winsoft-085727.html

    需要下载两个文件 instantclient-basic-nt-12.1.0.2.0.zip "http://download.oracle.com/otn/nt/instantclient/121020/instantclient-basic-nt-12.1.0.2.0.zip"   

             instantclient-odbc-nt-12.1.0.2.0.zip  "http://download.oracle.com/otn/nt/instantclient/121020/instantclient-odbc-nt-12.1.0.2.0.zip"

    到官网下载需要登陆 用户名: ****  密码:*****

    将两压缩包进行解压。

    将"instantclient-odbc-nt-12.1.0.2.0.zip"里面的所有文件和文件夹拷贝到"instantclient-basic-nt-12.1.0.2.0.zip"解压到的文件里面

    假设将文件都放到了"xxxinstantclient_12_1"文件夹里面

    --------------------------------------------------------------------------

    2.安装client

    -------------------------------------------------------------------------------------------

    打开instantclient_12_1文件夹找到 cmd.exe(若没有则在system32下找到并拷贝过来) 右键"cmd.exe"文件点击以管理员身份运行。

    输入"odbc_install.exe"点击Enter运行,若安装成功则会出现"Oracle ODBC Driver is installed successfully"

    -----------------------------------------------------------------------------------------

    3.环境变量需要配置的内容

    鼠标右键计算机-->属性-->高级系统设置-->高级-->环境变量-->系统变量

    -----------------------------------------------------------

    ORACLE_HOME      xxxinstantclient_12_1

    Path  添加         xxxinstantclient_12_1

    TNS_ADMIN         xxxinstantclient_12_1 etworkADMIN

    ------------------------------------------------------------

    其中xxxinstantclient_12_1 etworkADMIN 文件夹中的 tnsnames.ora文件内容需要进行修改  将"TESTDB"中的"HOST=192.168.19.176"做修改若无tnsnames.ora文件则需要自己建

    "SERVICE_NAME=ORCL" ORCL是SID

    4.odbc需要配置的内容 开始-->控制面板-->管理工具-->数据源(ODBC)-->用户DSN-->添加

    ---------------------------------------------------------------

    点击 "Oracle in instantclient_12_1" 点击 完成 在Oracle ODBC Driver Configuration对话口进行内容填写

    =================================================================

    Data Source Name    自己随便取个名字如:"bbb"

    Description        连接描述如:"xxxxxxxxx"

    TNS Service Name     有两种方式进行一种是点击下拉tnsnames.ora配置的名称如"TESTDB"    

                 另一种填写    IP地址+端口号+SID 如:  "192.168.19.176:1521/ORCL"

    UserID   访问数据库的用户名

    ======================================================================

    点击测试弹出"Oracle ODBC Driver Connect"对话口 填写好密码 点击"OK" 若连接成功则提示 "Connection successful"

    至此odbc配置成功

    ---------------------------------------------------------------

    测试
    ----------------------------------------------------------------------------------

    BVS版
    以下是一段vbs测试程序  拷贝下列文件取拓展名为".vbs"双击文档可以进行测试
    其中的"database=sys"表示要访问的数据库名称是sys
    找到"audit_actions"表中的行数并显示出来

    '*******************************************'从我开始拷贝****************************************

    Dim objConnection                          'CONNECTION对象实例 
    Dim objRecordSet                                   'RECORDSET对象实例        
    Dim objCommand                                '命令对象实例 
    Dim strConnectionString                        '连接字符串 
    
    Sub ConnectDatabase() 
        Set objConnection = CreateObject("ADODB.CONNECTION")                '1 - 建立CONNECTION对象的实例
        strConnectionString = "Dsn=bbb;uid=bips48;pwd=m123;database=sys"                                '2 - 建立连接字符串 
        objConnection.Open strConnectionString
        
        Set objRecordSet = CreateObject("ADODB.RECORDSET")                '4 - 建立RECORDSET对象实例 
        Set objCommand = CreateObject("ADODB.COMMAND")              '5 - 建立COMMAND对象实例 
        objCommand.ActiveConnection = objConnection 
        objCommand.CommandText = "select count(*) from audit_actions" 
            objRecordSet.CursorLocation = 3 
            objRecordSet.Open objCommand                            '6 - 执行SQL语句,将结果保存在RECORDSET对象实例中 
        
        intArrayLength = objRecordSet.RecordCount                  '将查询结果的行数作为数组的长度 
        MsgBox intArrayLength
        
        If intArrayLength > 0 Then 
          Do While NOT objRecordSet.EOF                                                '将数据库查询的列值赋值给数组             
              MsgBox objRecordSet("COUNT(*)")
                 objRecordSet.MoveNext 
           Loop     
        End If 
    End Sub 
    
    ConnectDatabase

    '***************************************'拷贝到我结束*********************************

    C#版

            static void Main(string[] args)
            {
    
                Console.WriteLine(DateTime.Now);
                System.Data.Odbc.OdbcConnectionStringBuilder connBuilder = new System.Data.Odbc.OdbcConnectionStringBuilder();
                connBuilder.Dsn = "bbb";
                connBuilder.Add("uid", "bips48");
                connBuilder.Add("pwd", "m123");
                connBuilder.Add("database", "sys");
                string sss = connBuilder.ToString();
                Console.WriteLine(connBuilder.ToString());
                System.Data.Odbc.OdbcConnection conn = new System.Data.Odbc.OdbcConnection(connBuilder.ToString());
                try
                {
                    conn.Open();
                    System.Data.Odbc.OdbcCommand comm = new System.Data.Odbc.OdbcCommand("select count(*) from audit_actions", conn);
                    var reader = comm.ExecuteReader();
                    while (reader.Read())
                    {
                        Console.WriteLine(reader[0].ToString());
                    }
                    Console.WriteLine("连接成功!");
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                }
                finally
                {
                    conn.Close();
                }
                Console.Read();
            }

    ----------------------------------------------------------------------------------

  • 相关阅读:
    Pyton项目打包成exe文件
    App数据指标
    电商基础指标体系
    Matplotlib复杂作图
    Sklearn之聚类分析
    Seaborn可视化
    Matplotlib可视化2
    Matplotlib可视化1
    Pandas可视化
    Linux常用指令(3)
  • 原文地址:https://www.cnblogs.com/LittleJin/p/5336828.html
Copyright © 2011-2022 走看看