C#连接mysql数据库
全部版本下载:http://hovertree.com/h/bjaf/0sft36s9.htm
mysql.data.dll是C#操作MYSQL的驱动文件,是c#连接mysql必要插件,使c#语言更简洁的操作mysql数据库。当你的电脑弹出提示“丢失mysql.data.dll”或“无法找到mysql.data.dll”等错误问题,请下载本站为你提供的dll文件,使用它可以帮助用户解决上述问题。
dll文件修复方法:
1、解压下载的文件。
2、复制文件“mysql.data.dll”到系统目录下。
3、系统目录一般为:C:\WINNT\System32 64位系统为C:\Windows\SysWOW64
4、最后点击开始菜单-->运行-->输入regsvr32 mysql.data.dll 后,回车即可解决错误提示!
第三方组件:Mysql.Data.dll
说明:下载Mysql.Data.dll,然后在项目中添加该组件的引用,在代码页里输入using Mysql.Data.MysqlClient,我们就可以顺利的使用该类库的函数建立连接了。
代码:
using System.Data;
using MySql.Data.MySqlClient;
private MySqlConnection conn;
private DataTable data;
private MySqlDataAdapter da;
private MySqlCommandBuilder cb;
private DataGrid dataGrid;
private void connectBtn_Click(object sender, System.EventArgs e)
{
if (conn != null)
conn.Close();
string connStr = String.Format("server=;user id=; password=; port=; database=mysql; pooling=false; charset=utf8",
server.Text, userid.Text, password.Text, 3306);
try
{
conn = new MySqlConnection( connStr );
conn.Open();
GetDatabases();
MessageBox.Show("连接数据库成功!");
}
catch (MySqlException ex)
{
MessageBox.Show( "Error connecting to the server: " + ex.Message );
}
}
private void GetDatabases()
{
MySqlDataReader reader = null;
MySqlCommand cmd = new MySqlCommand("SHOW DATABASES", conn);
try
{
reader = cmd.ExecuteReader();
databaseList.Items.Clear();
while (reader.Read())
{
databaseList.Items.Add( reader.GetString(0) );
}
}
catch (MySqlException ex)
{
MessageBox.Show("Failed to populate database list: " + ex.Message );
}
finally
{
if (reader != null) reader.Close();
}
}
private void databaseList_SelectedIndexChanged(object sender, System.EventArgs e)
{
MySqlDataReader reader = null;
conn.ChangeDatabase(databaseList.SelectedItem.ToString());
//http://sosoft.cnblogs.com/
MySqlCommand cmd = new MySqlCommand("SHOW TABLES", conn);
try
{
reader = cmd.ExecuteReader();
tables.Items.Clear();
while (reader.Read())
{
tables.Items.Add( reader.GetString(0) );
}
}
catch (MySqlException ex)
{
MessageBox.Show("Failed to populate table list: " + ex.Message );
}
finally
{
if (reader != null) reader.Close();
}
}
private void tables_SelectedIndexChanged(object sender, System.EventArgs e)
{
data = new DataTable();
da = new MySqlDataAdapter("SELECT * FROM " + tables.SelectedItem.ToString(), conn );
cb = new MySqlCommandBuilder( da ); // 此处必须有,否则无法更新
da.Fill( data );
dataGrid.DataSource = data;
}
private void updateBtn_Click(object sender, System.EventArgs e)
{
DataTable changes = data.GetChanges();
da.Update( changes );
data.AcceptChanges();
}
C#连接SQL SEVER数据库
string con, sql;
con = "Server=.;Database=Exercise;Trusted_Connection=SSPI";
sql = "select * from lianxi";
SqlConnection mycon = new SqlConnection(con);
mycon.Open();
SqlDataAdapter myda =newSqlDataAdapter(sql, con);
DataSet myds =newDataSet();
myda.Fill(myds,"lianxi");
dataGridView1.DataSource = myds.Tables["lianxi"];
mycon.Close();
"user id=sa":连接的验证用户名为sa.他还有一个别名"uid",所以这句我们还可以写成"uid=sa".
"password=":连接的验证密码为空.他的别名为"pwd",所以我们可以写为"pwd=".
"DataBase=Exercise"指的就是你建立的服务器,
"Server=.:这个点代表的是本机的意思,还可以写成server=localhost,
dataGridView1界面上的的控件名称。
C#连接Oracle数据库
1. 需要添加一个System.Data.OracleClient引用,这个文件一般在C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0路径下可以找到,v4.0不是绝对的,按照自己所需的版本选择。
2. 在用到的地方加using System.Data.OracleClient;
3. 实际连接的代码我是这样写的:
private void ConnectToOracle()
{
string strCon = "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=" + textBox_OracleIp.Text + ")(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=aaaaa)));Persist Security Info=True;User ID=bbbb;Password=xxxxxxxx;";
OracleConnection myConn = new OracleConnection(strCon);
myConn.Open();
}
aaaaa表示数据库实例名,bbbb表示用户名,xxxxxxxx是密码,自己对号入座。
4. 一般情况下,这样做完是连接不上的。因为还需要数据库客户端的支持,你可以装一个客户端软件,32位或64位看自己实际情况,我这里C#生产的代码以x86位为目标平台,假的OracleClient库文件也是32位的,所以装了个32位的客户端,装完后将路径(如C:\Program Files(x86)\Oracle\instantclient_11_2)加到PATH环境变量,再加一个环境变量NLS_LANG,值为SIMPLIFIED CHINESE_CHINA.ZHS16GBK(不绝对),这个是设置ORACLE通信过程中使用的语言和字符集,需要与服务器端一致。这样之后应该是可以成功连接了。
5. 有的人觉得每台要使用我这个软件的PC都要装oracle客户端麻烦,那么还有一种方法可以不用安装oracle客户端,那么需要下载oracle instant client包,可以从oracle官网http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html或csdn下载到。我这里提供一个32位11g的包。解压后有很多文件,很多博客上讲到需要用到里面的9个文件(如classes12.jar oci.dll ocijdbc10.dll ociw32.dll ojdbc14.jar Oracle.DataAccess.dll orannzsbb10.dll oraocci10.dll oraociei10.dll OraOps10.dll),我这边实际测试只需要其中两个文件就能正常连接和读写数据了。这两个文件是oci.dll、oraociei11.dll。
在工程下新建一个oracle文件夹,加入这两个文件,将文件的copy to output directory属性设为copy if newer,这样到时候在exe文件所在目录会有oracle目录,里面含有这两个dll文件。然后再连接oracle之前进行如下设置,我这里是在main方法中设置的:
//取得存放oracle驱动文件的路径
string oraclePath = System.Windows.Forms.Application.StartupPath + @"\oracle";
//设置PATH环境变量,加入oracle驱动所在文件夹,并且这个PATH只在当前进程起作用
Environment.SetEnvironmentVariable("PATH", oraclePath, EnvironmentVariableTarget.Process);
//设置ORACLE在通信过程中使用的语言和字符集,这个字符集要和数据库服务器一致,否则会乱码
//可以用SQL语句查询服务器使用得字符集
Environment.SetEnvironmentVariable("NLS_LANG", "SIMPLIFIED CHINESE_CHINA.ZHS16GBK", EnvironmentVariableTarget.Process);
这样设置完后,在不安装oracle客户端的情况下也应该能连接上数据库了。
—— End ——
领取专属 10元无门槛券
私享最新 技术干货