zoukankan      html  css  js  c++  java
  • Csharp: read Sybase SQL anywhere5.5 using c#

      private void button1_Click(object sender, EventArgs e)
            {
                try
                {
    
                    //OdbcConnection conn = new OdbcConnection();  
                    //conn.ConnectionString =   
                    //         "ODBC;" +   
                    //         "Driver={Sybase SQL Anywhere 5.0};" +   
                    //         "DefaultDir=c:myfolder;" +   
                    //         "Dbf=c:mypathdbname.db;" +   
                    //         "Uid=UserName;" +   
                    //         "Pwd=Secret;" +   
                    //         "Dsn="""";";     // Must be included!  
                    //conn.Open();   geovindu
    
                    connectionString = "DSN=geovindu;UID=dba;PWD=sql;"; //Data Source=sademo
    
                    using (OdbcConnection connection = new OdbcConnection(connectionString))
                    {
                        connection.Open();
                        DataTable dt = new DataTable();// connection.GetSchema();
                        DataSet ds = new DataSet();
                       OdbcDataAdapter da = new OdbcDataAdapter("SELECT * FROM employee", connection);
                       da.Fill(ds);
                       dt = ds.Tables[0];
                        // Do work here. 
                       this.dataGridView1.DataSource = dt;
                    }
                }
                catch (OdbcException ex)
                {
                    MessageBox.Show(ex.Message.ToString());
                }
            }
    

    讀取數据如下:  

    http://www.dofactory.com/reference/connection-strings

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using Microsoft.Win32;
    using System.Data.Odbc;
    using System.Data.SqlClient;
    
    /*
     
    https://msdn.microsoft.com/en-us/library/system.data.odbc.odbcconnection.connectionstring%28v=vs.110%29.aspx 
     * 
     * "Driver={SQL Server};Server=(local);Trusted_Connection=Yes;Database=AdventureWorks;"
    
    "Driver={Microsoft ODBC for Oracle};Server=ORACLE8i7;Persist Security Info=False;Trusted_Connection=Yes"
    
    "Driver={Microsoft Access Driver (*.mdb)};DBQ=c:inNorthwind.mdb"
    
    "Driver={Microsoft Excel Driver (*.xls)};DBQ=c:inook1.xls"
    
    "Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=c:in"
    
    "DSN=dsnname"
     * 
     DSN类型有以下三种:
    
    用户DSN:该数据源只能对建立数据源的用户可见.
    ODBC用户数据源存贮了如何与指定数据库提供者连接的信息.只对当前用户可见,而且只能用于当前机器上.这里的当前机器是只这个配置只对当前的机器有效,而不是说只能配置本机上的数据库.它可以配置局域网中另一台机器上的数据库.
    
    系统DSN:该数据源对当前机器上所有的用户可见.
    ODBC系统数据源存贮了如何指定数据库提供者连接的信息,系统数据对当前机器上的所有用户都是可见的,包括NT服务.也就是说在这里配置的数据源,只要是这台机器的用户都可以访问 .
    
    文件DSN:该数据源对安装了相同驱动的用户可见 
    用户DSN只被用户直接使用,它只能用于当前机器中,ASP不能使用它.系统DSN允许所有的用户登陆到特定服务器上去访问数据库,任何具有权限有用户都可以访问系统DSN.在WEB应用程序中访问数据库时,通常都是建立系统DSN. 文件DSN将信息存储在后缀为.dsn的文本文件中,优点是便于移动.
    
    用户DSN只是针对当前用户或者特定用户;系统DSN是底层的,针对全部用户。一般没有特殊情况时,建议使用使用系统DSN,通用性好。
     */
    
    namespace SQLanyWhereDemo
    {
    
        /// <summary>
        /// 塗聚文 涂聚文
        /// </summary>
        public partial class Form4 : Form
        {
    
    
            RegistryKey regRootKey;
            RegistryKey regSubKey;
            /// <summary>
            /// 
            /// </summary>
            public Form4()
            {
                InitializeComponent();
            }
            /// <summary>
            /// 
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void Form4_Load(object sender, EventArgs e)
            {
                List<string> dsnList = new List<string>();
                ///定义Root指向注册表HKEY_LOCAL_MACHINE节点,
    
                ///如果是需要获取用户DSN则需要使用 Registry.CurrentUser;
                regRootKey = Registry.LocalMachine;
    
                ///定义注册表子Path
                string strRegPath = @"SOFTWAREODBCODBC.INIODBC Data Sources";
                regSubKey = regRootKey.OpenSubKey(strRegPath);
                string[] strDSNList = regSubKey.GetValueNames();
                foreach (string s in strDSNList)
                {
                    dsnList.Add(s);
                }
                ///关闭
                regSubKey.Close();
                regRootKey.Close();
    
                this.comboBox1.DataSource = dsnList;
            }
            /// <summary>
            /// is_archive
            /// is_archive
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void button1_Click(object sender, EventArgs e)
            {
    
                try
                {
                    string conStr = "DSN=LocalServer";
                    SqlConnection mCn = new SqlConnection(conStr);              
                    mCn.Open();
                }
                catch (SqlException ex)
                {
                    MessageBox.Show(ex.Message.ToString());
                }
    
            }
            /// <summary>
            /// 
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void button2_Click(object sender, EventArgs e)
            {
                try
                {
    
                    string conStr = "DSN=geovindu";//uid=dba;PWD=geovindu" Driver={Sybase SQL Anywhere 5.0};
                    OdbcConnection conn = new OdbcConnection(conStr);
                    conn.Open();
    
                    //OdbcConnection mCn = new OdbcConnection();
                    //mCn.ConnectionString = "DSN=" + this.comboBox1.Text.Trim();
                    //mCn.Open();
                }
                catch (OdbcException ex)
                {
                    MessageBox.Show(ex.Message.ToString());
                }
            }
    
            private const string ODBC_INI_REG_PATH = "SOFTWARE\ODBC\ODBC.INI\";
            private const string ODBCINST_INI_REG_PATH = "SOFTWARE\ODBC\ODBCINST.INI\";
    
            /// <summary>
            /// Creates a new System-DSN entry with the specified values. If the DSN exists, the values are updated.
            /// </summary>
            /// <param name="dsnName">Name of the DSN for use by client applications</param>
            /// <param name="description">Description of the DSN that appears in the ODBC control panel applet</param>
            /// <param name="server">Network name or IP address of database server</param>
            /// <param name="driverName">Name of the driver to use</param>
            /// <param name="trustedConnection">True to use NT authentication, false to require applications to supply username/password in the connection string</param>
            /// <param name="database">Name of the datbase to connect to</param>
            public static void CreateDSN2(string dsnName, string description, string server, string driverName, bool trustedConnection, string database, string user, string password, string port)
            {
                // Lookup driver path from driver name
                var driverKey = Registry.LocalMachine.CreateSubKey(ODBCINST_INI_REG_PATH + driverName);
                if (driverKey == null) throw new Exception(string.Format("ODBC Registry key for driver '{0}' does not exist", driverName));
                string driverPath = driverKey.GetValue("Driver").ToString();
    
                // Add value to odbc data sources
                var datasourcesKey = Registry.LocalMachine.CreateSubKey(ODBC_INI_REG_PATH + "ODBC Data Sources");
                if (datasourcesKey == null) throw new Exception("ODBC Registry key for datasources does not exist");
                datasourcesKey.SetValue(dsnName, driverName);
    
                // Create new key in odbc.ini with dsn name and add values
                var dsnKey = Registry.LocalMachine.CreateSubKey(ODBC_INI_REG_PATH + dsnName);
                //MessageBox.Show(dsnKey.ToString());
                if (dsnKey == null) throw new Exception("ODBC Registry key for DSN was not created");
                dsnKey.SetValue("Data Source", dsnName);
                dsnKey.SetValue("Database", database);
                dsnKey.SetValue("Description", description);
                dsnKey.SetValue("Driver", driverPath);
                dsnKey.SetValue("Server", server);
                dsnKey.SetValue("User name", user);
                dsnKey.SetValue("Password", password);
                dsnKey.SetValue("Port", port);
                dsnKey.SetValue("Trusted_Connection", trustedConnection ? "Yes" : "No");
            }
        }
    }
    

      ARSoft.Tools.Net2.2.dll  https://github.com/alexreinert/ARSoft.Tools.Net

  • 相关阅读:
    nodejs install
    taobao sass
    Cors 跨域访问API
    多文件上传
    Next
    实用小工具
    下载包含src,tgz,zip的文件
    HTML5文件API
    Bootstrap (导航、标签、面包屑导航)
    Bootstrap 固定定位(Affix)
  • 原文地址:https://www.cnblogs.com/geovindu/p/8431988.html
Copyright © 2011-2022 走看看