当前位置:首页 » 数据仓库 » net切换数据库
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

net切换数据库

发布时间: 2023-05-01 22:44:48

Ⅰ vb.net 怎么操作数据库

Private stroledbprovider As String = "System.Data.OleDb" '大小写 -------更改此处可连接不同类型的数据库
'连接数据库的信息,更改连接不同数据库信息-------"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=datapath;Persist Security Info=false"
Private stroledbconn As String = "Provider=sqlOLEDB;Data Source=localhost,10000;Initial Catalog=haofefe;user id=sa ; password=123" 'Integrated Security=SSPI"
'*********************************************************************

'************生成Dbproviderfactory,idbconnection,idbcommand,and idatareader********
Dim cnfactory As IDbConnection
Dim drcustsreader As IDataReader
Dim cmfactory As IDbCommand
Dim dpfactory As DbProviderFactory
Public login As Boolean = False
Private Sub createconn()
Try
dpfactory = System.Data.Common.DbProviderFactories.GetFactory(stroledbprovider)
cnfactory = dpfactory.CreateConnection
cnfactory.ConnectionString = stroledbconn
cmfactory = cnfactory.CreateCommand
cmfactory.CommandType = CommandType.Text

Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
'*********************************************************

'利用生成的连接
'****************查询数据**************
Public Function getsources(ByVal strcomm As String) As DataTable

Dim i As Integer
Try
Call createconn() '调用生成实例
cmfactory.CommandText = strcomm
getsources = New DataTable
cnfactory.Open()
drcustsreader = cmfactory.ExecuteReader(CommandBehavior.KeyInfo)
With drcustsreader
For i = 0 To .FieldCount - 1
getsources.Columns.Add(.GetName(i))
Next
While .Read
Dim objcells(.FieldCount - 1) As Object
.GetValues(objcells)
getsources.Rows.Add(objcells)
End While

End With
drcustsreader.Close()
'getsources.Load(drcustsreader)
Return getsources
cnfactory.Close()
Catch ex As Exception
cnfactory.Close()
Return New Data.DataTable
MsgBox(ex.ToString)
End Try
End Function
'**********************************
'-------------------------------------------------------------------------------------------------------------
'*******************查看已连接信息******************
Public Sub connectionstatistics(ByVal conn As SqlConnection)
Dim htstats As Hashtable
Try
htstats = CType(conn.RetrieveStatistics, Hashtable)
Dim strstats As String
strstats = "ServerVersion: " + conn.ServerVersion.ToString + ControlChars.CrLf
Dim ostat As Object
Dim strstat As String
For Each ostat In htstats.Keys
strstat = ostat.ToString
If InStr(strstat, "Time") > 0 Then
strstats = strstats + strstat + "=" + Microsoft.VisualBasic.Format(CLng(htstats(strstat)) / 1000, "#,##0.000") + " secs" + vbCrLf
Else
strstats = strstats + strstat + "=" + htstats(strstat).ToString + ControlChars.Cr + ControlChars.Lf
End If

Next
MsgBox(strstats, MsgBoxStyle.Information, "Connection Statistics")
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub

Ⅱ .Net中操作MySql数据库


这是在中为连接MySql中编写的一个类迟尺库。你可以使用这个类库直接操作MySql数据库。氏没
在使用这个类库之前,你必须安装
ODBC MYSQL 3.51
Driver
在这个库中有三个类:
ManipStringForMySQL: 此类修改SGBD的字符串
MySQL_Requettes: 发送请求
MySQL_Utils : 对SGBD数据进行测试
下面是使码核高用此类库操作MySql的一个例子
//对DataSet进行操作 www.yestar2000iTbulo.comW7Cvs
Public Shared Function MyODBCDataset(ByVal ReqSQL As String, _
ByVal LaBase As String, ByVal Server As String, _
ByVal Password As String, ByVal User As String, _
ByVal NomDataSet As String) As DataSet
' Connexion à un server MySQL
'avec le Driver ODBC 3.51 avec requette qui renvoie un dataset
Dim MyConString As String = _
"DRIVER={MySQL ODBC 3.51 Driver};SERVER="
Server _
";DATABASE="
LaBase
";UID="
User _
";PASSWORD="
Password
";OPTION=3;"
Dim MyODBCConnexion As New OdbcConnection(MyConString)
Try
Dim ds As New DataSet()
Dim cmd As OdbcDataAdapter = New
OdbcDataAdapter(ReqSQL, MyConString)
Dim MyCommand As New OdbcCommand()
Dim MyDataReader As OdbcDataReader
cmd.Fill(ds, NomDataSet)
MyODBCConnexion.Close()
Return ds
Catch MyOdbcException As OdbcException
'
HttpContext.Current.Response.Write(MyOdbcException.ToString)
Catch MyException As Exception
'
HttpContext.Current.Response.Write(MyException.ToString)
End Try
End Function
www.yestar2000iTbulo.comW7Cvs
//对函数的调用
Dim MonDatasetTemp As DataSet = MySQL_Requettes.MyODBCDataset(SQL,
constantes.ODBCBase,
constantes.ODBCServer,
constantes.ODBCPwd,
constantes.ODBCUser,
"MonDataset")

Ⅲ .netframework访问数据库变得非常慢

netframework访问数据库变得非常慢,网站程序占用的CPU资源或散宏和内存资源没有及时释放,需要每隔一段时间手动重启网站来释放资源。您也可以通过切换ASP.NET版本实现程序池资源的回收,无需手动重启网站。

解决方案
登录云虚拟主机管理页面。
找到待切换版本的Windows操作系统云虚拟主机,单击对应操作列下的管理。
在左侧导航栏,选择高级环境设置 > .net版本设置。
在.net版本设置页面,切换.NET FrameWork版本。
先将.NET FrameWork版本切换为任一其他版本,单击保存设置衫册。
等待10分钟~15分钟,再将.NET FrameWork版本还原为旧版本,再次单击保存设置。
查看网站访问速度是否恢复正常。掘败
访问速度恢复正常,问题排查结束

Ⅳ net core 怎么操作数据库

NET Core 使用Dapper 操作MySQL 数据库, .NET Core 使用Dapper。

目前官方没有出.NET Core MySQL 驱动,但是已经有第三方进行穗告辩改动封装出.NET Core MySQL Connector 预览版。

Dapper 也已经出了 .NET Core 预览版。

Dapper dot net 是一个轻猜缺量型的ORM,但是性能很友卖强大。

有了.NET Core MySQL Connector 我们可以直接使用ADO.NET 操作数据库。

目前EF Core 暂时不支持MySQL, 本篇主要讲解使用Dapper 操作 MySQL。

第三方 MySQL Connector: https://github.com/SapientGuardian/mysql-connector-net-netstandard
Dapper: https://github.com/StackExchange/dapper-dot-net

新建项目
新建一个.NET Core控制台应用程序 NETCoreMySQL

Ⅳ asp.net连接两个不同的数据库

正做一个类似的项目,是PROGRESS数据库和SQLSERVER2000数据库对接的。渣好要迁移许多表。你的只迁移一个表还是很简单的。不枣粗过运行一次只能导入一次更新的数据,数据库时时更新的话得让它定时执行。
需要建立2个类,分别和这2个数据库连接。
拿到DB1的连接进行SELECT找到数据,再用DB2的凳梁镇连接INSERT数据,就完成功能了。
如果数据量大要用分页代码,不然一次SELECT的数据缓存里是装不下的。

Ⅵ asp.net 如何调用数据库切换js 图片

这里有一个图片切换效果
试试看
后台循环输出就行

Ⅶ vb.net 怎么操作数据库

如果楼主熟悉VB6,可以直接在项目中添加ADODB的Com引用,这样你就可以像VB6那样操作数据库了!
另外
.NET
Framework中连接数据库要用到ADO.NET。如果要操作Access数据库,要用到System.Data.OleDb命名空间下的许多类。
比如按楼主所说,“我想在textbox1中显示表一中【一些数据】字段下的第一个内容”:
'首先导入命名空间
Imports
System.Data
Imports
System.Data.OleDb
'然后在某一个事件处理程序中写:
Dim
conn
As
New
OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data
Source=数据库.accdb;Jet
OLEDB:Database
Password=MyDbPassword")
Dim
command
As
New
OleDbCommand("Select
*
From
数据表",
conn)
conn.Open()
'打开数据库连接
Dim
reader
As
OleDbDataReader
=
command.ExecuteReader()
'执行SQL语句,返回OleDbDataReader
对象
Do
While
reader.Read()
'读取一条数据
textbox1.Text
+=
reader("一些数据")
&
VbCrLf
Loop
reader.Close()
'关闭OleDbDataReader
conn.Close()
'关闭连接

Ⅷ ado.net快速上手疑问及解答


一含仔、代码中的问题
1、伪SqlMapper的基类为什么用抽象类BaseSqlMapper而不用接口?
答:楼猪也知道在IBatis下的SqlMapper的基类就是一个接口ISqlMapper,但是楼猪写代码的时候,发现泛型约束在抽象基类里写一次,在SqlMapper下就不要再写了,而用接口就必须写两遍约束。呵呵,一时偷懒的后果,没有深刻意识到“针对接口编程”这一条常识,提出这个问题的童鞋明显可以看出技高楼猪一筹啊,,哈哈,楼猪吸取这个教训了,本文最后的demo楼猪将BaseSqlMapper统一换成了ISqlMapper接口,请留意。
2、在前台页面里面写SQL语句太多,是不是不太好?
这个问题也很好。在实际的项目中,SQL语句通常都写在具体的Dao文件中,比如前文demo中提到的PersonDao类。我尺斗们在添加一个Person的时候,示例中是通过view plain to clipboardPRint?
public int Insert(string sqlInsert)
public int Insert(string sqlInsert)
这种形式的方法执行插入的,但是在实际项目中的时候,我们通常都会写view plain to clipboardprint?
public int Insert(Person model)
public int Insert(Person model)
这种类型的方法执行数据库插入操作。所以在前台(表现层)写SQL语句其实是不合理的。再次多多感谢指出代码问题的童鞋们。如果已经对某些新手造成某些误导,楼猪在这里要深刻反省和检讨(demo写的明显有点随意和偷懒),在这里,楼猪郑重提醒,SQL语句的位置请不要模仿demo中这种糟糕的写法,楼猪也是过来人,因为使用的时候都是放在Dal层xml下的,请务必重视起来。
二、疑问(直接摘录邮件内容)
1、“数据库切换貌似没有是吧.怎样切换MSSQL。ACC,XML等等呢”?
答:这个应该是说源码对多种数据库的支持问题。哦,楼猪还没有实现。看源码,Sql Server简单的基本的CRUD功能已经支持了。如果要扩展支持其他数据库,模仿SqlServer类里的具体实现即可。楼猪的机器环境上没有安装Oracle或者MySQL等数据库,所以写完了也不好测试。您如果条件具备,自己可以试着完成它。至于说数据库的切换,理想状态的实现莫过于最经典的抽象工厂模式,呵呵,配置文件配合反射就行了。但是楼猪建议您简单使用伪SqlMapper进行数据库类型切换。具体操作,其实只要在配置文件appsetting中加一个数据库类型节点sqlType,配合类里的常用数据库类型的枚举即可。
appSettings
add key="db_timeOut" value="5000"/
!--数据库类型 0 SqlServer 1 Orcale 2 MySql--
add key="sqlType" value="0"/
/appSettings
枚举如下:
代谈困汪码
namespace AdoNetDataaccess.Mapper
{
public enum SqlEnum
{
Default = 0,
SQLServer = 0,
Oracle = 1,
MySql = 1
}
}
然后,就是一些实例化SqlMapper的过程判断了,将数据库切换的问题完全转移到实例化SqlMapper上来:
代码
using System;
using System.Collections.Generic;
using System.Configuration;
namespace AdoNetDataAccess.Mapper
{
using AdoNetDataAccess.Core.Contract;
using AdoNetDataAccess.Core.Implement;
#region enum
public enum SqlEnum
{
Default = 0,
SQLServer = 0,
Oracle = 1,
MySql = 1
}
#endregion
public sealed class MapperUtill
{
#region fields
public static string currentSqlKey = "sqlConn";
public static int cmdTimeOut = 15;
private static int sqlType = 0;//数据库类型 0 SqlServer 1 Orcale 2 MySql
private static readonly object objSync = new object();
private static readonly IDictionarystring, ISqlMapper dictMappers = new Dictionarystring, ISqlMapper();
#endregion
#region constructor and methods
private MapperUtill()
{
}
static MapperUtill()
{
try
{
cmdTimeOut = int.Parse(ConfigurationManager.AppSettings["db_timeOut"]);
}
catch
{
cmdTimeOut = 15;
}
try
{
sqlType = int.Parse(ConfigurationManager.AppSettings["sqlType"]);
}
catch (Exception ex)
{
throw ex;
}
//实例化SqlDbMapper
for (int i = 0; i
ConfigurationManager.ConnectionStrings.Count; i++)
{
string key = ConfigurationManager.ConnectionStrings[i].Name;
string value = ConfigurationManager.ConnectionStrings[i].ConnectionString;
CreateMapper(key, value, cmdTimeOut);
}
}
public static ISqlMapper GetSqlMapper(string key)
{
return MapperUtill.GetMapper(key);
}
public static ISqlMapper GetCurrentSqlMapper()
{
return MapperUtill.GetMapper(currentSqlKey);
}
public static void CreateMapper(string connKey, string sqlConStr, int connTimeOut)
{
IDbOperation operation = null;
switch (sqlType)
{
default:
case 0:
operation = new SqlServer(sqlConStr, connTimeOut);
break;
case 1:
//operation = new Orcale(sqlConStr, connTimeOut);//Orcale 未实现
break;
case 2:
//operation = new MySql(sqlConStr, connTimeOut);//MySql 也没有实现呢
break;
}
if (operation == null)
{
throw new Exception("您配置的数据库类型有可能那啥出问题了");
}
SqlMapper mapper = new SqlMapper(operation);
dictMappers.Add(connKey.ToUpper().Trim(), mapper);//不区分大小写
}
public static ISqlMapper GetMapper(string sqlConKey)
{
if (string.IsNullOrEmpty(sqlConKey))
{
throw new Exception("数据库连接字符串主键为空!");
}
sqlConKey = sqlConKey.ToUpper();//不区分大小写
ISqlMapper mapper = null;
if (dictMappers.ContainsKey(sqlConKey))
{
mapper = dictMappers[sqlConKey];
}
else
{
throw new Exception(string.Format("没有{0}所对应的数据库连接", sqlConKey));
}
return mapper;
}
/// summary
/// 释放所有
/// /summary
public void Release()
{
foreach (KeyValuePairstring, ISqlMapper kv in dictMappers)
{
SqlMapper mapper = kv.Value as SqlMapper;
if (mapper == null)
{
continue;
}
mapper.CurrentDbOperation.CloseConnection();
}
dictMappers.Clear();
}
#endregion
}
}
必须要注意,这里的数据库切换方式不是绝对的,您可以按照自己喜欢的习惯的其他方式编程完成切换,楼猪这里只是抛砖而已。
2、“我对ORM不熟悉,想问下您的这个ORM到底是节省了哪部分工作? 我看里面有大量的反射,这样是不是非常影响效率?”
首先,楼猪对ORM也不太熟悉。现在实现的这个严格来说也根本谈不上算是ORM,但是有楼猪自己使用过的两个ORM的影子。
其次,当前实现的东东不是为了节省哪部分工作而设计的,楼猪的初衷是重读ado.net经典红皮书而做的复习笔记。
第三,反射相对于没有使用反射,当然非常影响效率。需要说明的是,要不要使用反射应该根据实际的项目需要。根据楼猪个人开发经验,对于大多数程序员要实现的简单的常见的前后台mis系统,在保证基本需求的情况下,客户如果对效率没有意见,用用没有太大关系,大部分工作就交给服务器完成去吧,程序员不用做太多工作。但是对于访问频繁的大型网站,实时系统或者应对大数据量操作的系统等等,建议不要使用反射,而且可能要重点花精力在数据“装潢”上面。
最后,如果有童鞋对ORM感兴趣,不妨在网上搜搜大牛们的作品,大名鼎鼎的NHibernate,,WebSharp,LINQ等等(这么多ORM,一个一个都要熟悉,源码也研究不过来啊,建议新手熟练一两种足矣),也许对您有更多的启发。如果您自己实现了类似其他流行ORM的主流功能(如自动生成SQL语句或者通过XML配置,缓存,延迟加载等等),并且功能更加强大,用起来更加顺手方便的新ORM,呵呵,真诚期待您的功德圆满那一天早日到来,快点来造福万千程序员吧。

Ⅸ 三菱变频器net无法切换

由于参数设置错误或网络连接问题。
1、NET功能的切换需要正确设置相枯此镇关参数,若参数设置错误,会导致NET功能无法切换。
2、NET功能需要与其他设备进行网络连接,没粗若网络连接不稳定或者扒族出现故障,也会导致NET功能无法切换。