Csharp: read Sybase SQL anywhere5.5 using c#
2018-06-17 20:04:04来源:未知 阅读 ()
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:\mypath\dbname.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:\bin\Northwind.mdb" "Driver={Microsoft Excel Driver (*.xls)};DBQ=c:\bin\book1.xls" "Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=c:\bin" "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 = @"SOFTWARE\ODBC\ODBC.INI\ODBC 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
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:MongoDB
下一篇:2017年数据库技术盘点
- Python连载24-函数list&read&seek 2019-07-24
- Python Threading 线程/互斥锁/死锁/GIL锁 2019-07-24
- python 通过Sybase ASE ODBC Driver访问sybase数据库,无需 2019-07-24
- python线程(二)代码部分 2019-04-25
- python网络-多线程(22) 2019-04-20
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash