NodeJS,mysql2promise,连接池执行,将数据复制到另一个数据库

NodeJS,mysql2promise,连接池执行,将数据复制到另一个数据库,第1张

产品开发了新版本,数据不兼容,新版本的数据结构比旧版本复杂一些,目前,旧版本是在线系统,需要将旧版本程序的数据适配至新版本程序。数据库是MySQL,这里选择使用NodeJS来完成。

使用的版本:

需要的依赖

案例一,单表的数据同步:

databasemysqlmysqltoolsjs

databasemysql2mysql2toolsjs

syncdata0basesyncDatajs

syncdata1manufactormainmanufactorjs

syncdata2brandmainbrandjs

syncdata3categorymaincategoryjs

案例二,关联表的数据同步:

databasemysql2mysql2promisetoolsjs

syncdata4general_namemaingeneral_namejs

syncdata5goodsmaingoodsjs

在MongoDB中,文档是对数据的抽象,它被使用在Client端和Server端的交互中。所有的Client端(各种语言的Driver)都会使用这种抽象,它的表现形式就是我们常说的BSON(Binary JSON )。

BSON是一个轻量级的二进制数据格式。

MongoDB能够使用BSON,并将BSON作为数据的存储存放在磁盘中。

当Client端要将写入文档,使用查询等等 *** 作时,需要将文档编码为BSON格式,然后再发送给Server端。同样,Server端的返回结果也是编码为BSON格式再放回给Client端的。

我知道 ie 怎么连接,别的浏览器不行。首先先去mysql官网下载个 odbc 然后安装,安装完再去控制面板找到“管理工具”--》“(ODBC)数据源”--》(如果是在自己电脑上测试就选

“用户DSN”,如果想被别人访问就选“系统DSN”) 然后添加mysqlodbc,然后把驱动的名字记下来(不是你起的名字,是后面自带的名字!),准备工作做完,我们就可以通过代码访问数据库了。(注:我第一次安装ODBC,用js调用时提示我未知数据源一类的话,卸载ODBC后再次安装ODBC就正常了) 用 ie 先调用odbc驱动 然后 *** 作mysql,话不多说,上代码!

//创建数据库连接对象

var conn = new ActiveXObject("ADODBConnection");

//创建数据集对象

var rs = new ActiveXObject("ADODBRecordset");

try{

//MySQL ODBC 53 ANSI Driver 这个就是我刚才说让你记得驱动的名字

var connectionstring = "Driver={MySQL ODBC 53 ANSI Driver};Server=127001;User=root;Password=root;Database=mysql;Option=3;Port=3306";

consolelog(connectionstring);

//打开连接

connopen(connectionstring);

//查询语句

var sql = " select from table1 ";

//打开数据集(即执行查询语句)

rsopen(sql,conn);

//(或者rs=connexecute(sql);)

//遍历所有记录

while(!rseof){

//WScript是Windows 的脚本宿主对象,详细情况请在windows帮助里查找。

//WScriptEcho输出记录的内容

documentwrite(rsFields("id") + "\t" + rsFields("name") + "\n");

//下一条记录

rsmoveNext();

}

//关闭记录集

rsclose();

//关闭数据库连接

connclose();

} catch(e){

//异常报告

documentwrite(emessage);

} finally{

//

}

你可以把requestsetCharacterEncoding("GBK");responsesetCharacterEncoding("GBK"); 里面的GBK改成utf-8的试试, 最好查一下数据库的编码 show variables like '%char%';给我看看

是否有漏洞与代码有关,与此无关

其中主流的连接MySQL的方式是用mysql或者mysql2包,它们只是提供了调用驱动的api。很多框架中包括egg,nest都是基于此封装的。

但这不是SQL注入的关键,它只是一种连接方式。它只管连接,不管其他的,存不存在SQL注入完全靠写代码的人本身啊。

一句脚本本没有问题(知道不让直接放sql的,也是放注入),但是你如果让SQL变成由用户输入拼接而成,那就存在SQL注入的风险。

你应该去了解SQL注入的原理,然后进行防患,百度就能找到,然后可以用ORM,一般都对输入做了处理,还能避免直接写SQL(但其实难的地方还得自己写)。

有不理解可以追问。

算。根据查询相关公开信息显示,使用Nodejs连接数据库可以算作后台开发。在Web开发中,可以将应用程序分为前端和后台两个部分。前端部分通常指的是用户界面,而后台部分则是处理数据、数据库 *** 作和服务器端逻辑的部分。在后台开发中,常常需要连接数据库来存储和管理数据。

以上就是关于NodeJS,mysql2/promise,连接池执行,将数据复制到另一个数据库全部的内容,包括:NodeJS,mysql2/promise,连接池执行,将数据复制到另一个数据库、nodejs怎样获取mongodb数据库连接,然后其他地方只用这一个连接、js怎样连接和调用mysql数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9816457.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存