我一向都习惯用JS脚本作为常用的工具性语言,比如写一些导入导出程序,管理程序等等。数据库这块大部分用的都是SQL Server,ADO连接是最常用的了,从来也没发生过什么问题,呵呵。
今天想弄一些数据到本机的MySQL数据库里面,大概有几万条吧,还是用脚本吧,反正自己早已经写了一些脚本库并注册为组件了,直接用就行。不过脚本库里面的数据库连接这块缺省用的是SQL Server,要连MySQL还得改改,上网查了查,很容易就找到了方案。
1、安装MySQL ODBC Driver,这个网上比较多,随便找一个安装下载了便是,我用的是3.51 版本。安装完毕以后管理工具》ODBC数据源》驱动程序里面会多一个驱动:MySQL ODBC 3.51 Driver
2、ADO连接字符串:
MySQL的是:
sql = "driver={MySQL ODBC 3.51 Driver};server=" + this.server + ";port=3306;option=131072;stmt=;database=" + this.db + ";uid=" + this.user + ";pwd=" + this.passwd;
SQL Server的是:
sql = "driver={sql server};server=" + this.server + ";database=" + this.db + ";uid=" + this.user + ";pwd=" + this.passwd;
于是ADO连接就这么搞定了,其它程序由于都是用标准的ADO方式,所以不用做任何改动就可以用了,^_^
不爽的是:原以为只有在做JAVA程序开发的时候才有中文问题,没想到在Windows下用JS+MySQL这个可恶的中文问题也折磨的我够呛:(
无论是INSERT/UPDATE/SELECT一旦碰到中文字符都会出现异常或者乱码,后来将数据库字符集换成UTF-8试了试就可以插入了。不过由于我的MySQL Front以及其它数据库字符集缺省设置的是GB2312,因此就不能直接浏览数据库里面的中文了,当然也很不爽了。
仔细阅读了一下MySQL 5.x的中文手册的10.3.6连接字符集和校对一节,终于发现原因所在。有3个变量可以用来控制字符集:
* character_set_client ,这是用户告诉MySQL查询是用的什么字符集。
* character_set_connection ,MySQL接受到用户查询后,按照character_set_client将其转化为character_set_connection设定的字符集。
* character_set_results , MySQL将存储的数据转换成character_set_results中设定的字符集发送给用户。
于是在建立完SQL连接之后,即调用SQL语句:
set character_set_client = gb2312
set character_set_connection = gb2312
set character_set_results = gb2312
设置如上三个变量,一切就迎刃而解了。此外,更简单的办法就是调用语句:
set NAMES gb2312
替代上面3句。
再回过头来看为什么MySQL配置问卷my.ini里面已经设置了参数default-character-set=gb2312了,还会出现这种情况呢?
可能是ADO调用MySQL ODBC 3.51 Driver驱动访问MySQL时缺省的字符集用的时UTF-8吧,而ADO对象又没有提供参数、方法或者连接字符串来更改缺省字符集,所以才有上面的情况出现。
反思一下:每个人在做JAVA、MySQL等程序时基本上都会碰到很多字符集、编码的问题,而做ASP/.NET、SQL Server开发时缺少有人碰到(通过google/baidu搜一下看结果数量就知道了),这是为什么呢?
可能是灵活性的代价必然就是复杂性吧……
分享到:
相关推荐
6. 兼容性与互操作性:MySQL 5.7.38 可能兼容更多的开发平台和应用程序,如 Unity 开发环境,这意味着可以通过引用 MySql.Data.dll 这样的 ADO.NET 提供程序在 Unity 中轻松连接和操作 MySQL 数据库。 在 Unity ...
使用C#的ADO.NET库,我们可以连接到MySQL数据库并执行SQL查询。查询的目标是获取所有需要展示的节点及其层级关系。这可能涉及到递归查询或者自连接查询,以确保所有子节点都被正确地包含在结果集中。 **3. 生成Json...
ASP.NET通过ADO.NET(一种.NET Framework的数据访问组件)与MySQL进行交互,执行SQL语句,如SELECT、INSERT、UPDATE和DELETE,来实现数据的增删改查操作。 文件“www.pudn.com.txt”可能包含了一些关于下载资源的...
在ASP中,我们使用ADO(ActiveX Data Objects)来连接和操作MySQL数据库。 1. **字符编码问题**:当ASP页面和MySQL数据库的字符编码不一致时,可能会导致乱码。常见的编码格式有GBK、UTF-8等。确保ASP页面和MySQL...
8. ASP与MySQL的连接:使用ADODB.Connection对象建立与MySQL服务器的连接,通过ADODB.Command对象执行SQL命令。连接字符串包含服务器地址、数据库名、用户名和密码等信息。 9. ADO对象模型:理解ADO的主要对象,如...
在ASP中,我们可以使用ADO(ActiveX Data Objects)来连接和操作数据库,包括执行SQL查询。对于分页,我们需要计算总记录数,然后根据每页显示的记录数来确定页码,并通过SQL的`LIMIT`子句(在MySQL中)或`TOP`子句...
在ASP中,我们可以使用ADO(ActiveX Data Objects)来连接和操作MySQL数据库。例如,通过建立数据库连接,执行SQL查询,获取结果集,然后将这些数据发送回客户端进行显示。 将这四者结合,可以构建出高效的Web应用...
3. 数据库连接和操作:掌握如何使用ADO对象如Connection、Command、Recordset等进行数据库的连接、查询和操作。 4. 用户界面设计:理解HTML、CSS和JavaScript在构建用户界面中的应用,提升用户体验。 5. Web应用程序...
因为老师不允许用GridView等数据控件,所以都是用代码(好像是叫ADO.NET来着)操作数据库的,表格下拉框什么的花了很大的功夫,我想想,用了代码块,拼接HTML字符串,JS插数据等方法。 听课是不可能听课的,整个实验...
本文中提到的JavaScript代码能够在Windows XP SP2系统环境下使用cscript.exe执行JavaScript脚本。这是Windows操作系统中自带的命令行脚本宿主,通过它可以执行.js文件,这对于自动化任务来说非常有用。同时,...
在"ASP应用手册"中,你可能还会接触到ASP与HTML的结合使用,通过在HTML页面中嵌入VBScript或JavaScript代码,实现服务器端逻辑和客户端脚本的交互。这使得开发者能够在不刷新整个页面的情况下更新部分内容,提高了...
3. 数据库连接:ASP可以使用ADO(ActiveX Data Objects)与各种数据库系统(如SQL Server、MySQL等)交互,进行数据查询、插入、更新和删除操作。通过建立数据库连接,网站可以实现动态展示古董信息、用户搜索等功能...
2. 数据库连接:ASP与MySQL的交互主要依赖ADO(ActiveX Data Objects),它提供了与各种数据库通信的接口。通过建立ODBC(Open Database Connectivity)数据源,ASP可以使用Connection对象打开到MySQL的连接,然后用...
5. **ASP与MYSQL的交互**:通过ADO(ActiveX Data Objects)或ODBC(Open Database Connectivity),ASP可以连接并操作MYSQL数据库。常见的操作包括打开数据库连接、执行SQL语句、获取查询结果、关闭连接等。 6. **...
ASP通常使用ADO(ActiveX Data Objects)来与各种类型的数据库进行交互,如SQL Server、MySQL等。以下是一个基本的数据库连接示例: ```vbscript Dim conn Set conn = Server.CreateObject("ADODB.Connection") ...
ADODB(ActiveX Data Objects)是微软提供的一个数据库访问技术,它允许JavaScript这样的脚本语言与各种数据库进行通信。在JavaScript中,我们通常使用ActiveXObject来创建ADODB对象,如`new ActiveXObject("ADODB....
- 数据库连接与操作:ADO.NET或ODBC/JDBC接口的使用,SQL语句的编写。 - 网页交互与响应式设计:JavaScript/jQuery的使用,CSS布局与响应式设计,确保在不同设备上良好显示。 - 安全性:防止SQL注入、XSS攻击等安全...
这篇文档将深入探讨API在不同技术栈中的应用,包括.NET、AJAX、PHP、JavaScript、HTML、CSS和jQuery,以及与MySQL数据库的交互。API,全称Application Programming Interface,是软件系统之间相互交互的一种约定,它...
5. **数据库连接与操作**:了解ADO(ActiveX Data Objects)或ODBC(Open Database Connectivity)在ASP中如何连接和操作MySQL数据库。 6. **错误处理与调试**:学习在ASP中如何设置和处理错误,以及使用调试工具...