最近一个项目用的是sybase的数据库。。。那叫一个蛋疼。。。搞伤的了。。。
先是乱码问题:
这是个老生常谈的问题。网上说连接字符串后面加个charset=cp850就行了。。我试了下不行。。。然后又说什么cp936。。。然后我一查我们的sybase服务器还没cp936.。。然后又是安装。。安装倒是挺容易的。在命令行里面进行sybase安装文件夹下。例如:
cd Sybase\ charsets\ cp936
d:\sybase\charsets\cp936>charset -Usa -Ppassword –Sserver_name binary.srt cp936
就行了。
可以在cmd里使用isql -U -P 进行dos操作页面。。后面分别跟上数据库用户名密码
select name,id from syscharsets可查看已安装的所以字符集
sp_helpsort 可查看默认字符集
sp_configure "default character set id",1 可设置默认字符集。。后面的参数值为对应编码在syscharsets表里的Id值。设置之后要重启服务器。。第一次重启会报错。第二次正常。
dump database DBname to "D:\DB.dup " 备份数据库
load database DBname from "D:\DB.dup " 还原数据库
select @@client_csname 查看客户端编码
再回过头说编码问题。我装了cp936改下连接字符串。。还是不行。再查。。说eucgb可以。。。还是不行。我又装了utf8还是不行。。。后来看到一篇很短小的文章觉得这个说的比较靠谱。
sybase中文字符编码
数据库编码常用有2种:iso_1和cp_850。若为iso_1则在配jdbc连接数据源时使用eucgb(最常用),写法为jdbc:sybase:Tds:10.20.10.21:4100/dmis_dict?charset=eucgb,查询结果集不需处理即可正常显示;若数据库编码为cp_850,在配数据源时使用jdbc:sybase:Tds:10.20.10.4:5000/dbwddyx?charset=iso_1,查询结果要用ISO_8859_1转换一下,new String(temp.getBytes("ISO-8859-1"),"GBK")。
(http://afront.bokee.com/5888791.html)
我的项目编码是UTF-8。。现在想解决问题的只有2中方法。一种就是修改默认编码。另外一种就是手动转换。但是修改默认编码的话对数据库有影响。而且我们是在客户原有的业务系统做二次开发。不可能修改编码的。。最后只有把编码写入配置文件。在程序中手动转码。
还有就是有的时候用jconn3.jar包会出现事务未关闭的问题。最好用jtds。。。jtds同样可以设置charset不过不是跟在连接字符串后面。而是放在param属性里面。
另外sybase sql语句的语法我发现近似于sqlserver 。。。。
还有就是sybase服务器有user connection的限制。。这个也可以用isql命令进入dos操作环境后进行配置。
sp_configure "number of connections",2oo后面的200就是你所设置的用户连接数。。如果去除参数改命令可查看当前所设置的用户连接数。。
分享到:
相关推荐
Linux 64位系统安装Sybase 12.54的笔记内容涉及了安装Sybase数据库的详细步骤,包括环境准备、介质准备、用户创建、安装过程、常见问题的解决方法以及ODBC配置等方面的知识点。下面是根据提供的文件信息总结的详细...
**与SQL Server的兼容性**:安装完成后,可以通过`isql`工具,使用`%isql CU`命令行方式连接Sybase数据库系统,实现与SQL Server的查询兼容性和数据迁移。例如,使用`isql -Usa -Ppassword`命令登录系统。 #### ...
### Sybase 入门学习笔记知识点详解 #### 一、Sybase数据库简介 **1.... Sybase是由Mark B....Sybase主要分为三大版本: ...通过学习这些知识点,初学者可以更好地理解和掌握Sybase数据库的基本原理和使用方法。
* Sybase:是一种关系型数据库管理系统,具有高性能和安全性等特点。 本资源涵盖了 MySQL 数据库的基础知识、SQL 语言、数据库管理系统、NoSQL 数据库等多个方面的内容,是学习 MySQL 数据库的必备资源。
Sybase与多种编程语言如Java、C#、PHP等有良好的集成,开发者可以通过ODBC、JDBC、ADO.NET等方式连接和操作Sybase数据库。理解这些接口的使用,可以更有效地将Sybase融入到应用程序中。 以上是对Sybase学习笔记的...
本笔记主要涵盖了Sybase中关于日期转换、用户创建以及数据库操作授权的相关知识。 1. **日期转换**: Sybase提供了`convert()`函数来实现日期和时间的格式转换。例如,`convert(char(10), getDate(), 120)`将当前...
综合以上文件,这个学习资料包对于初学者来说是一份宝贵的资源,它不仅包含了从入门到进阶的全面知识,还提供了实际操作中遇到问题的解决方法,可以帮助读者快速掌握Sybase数据库的使用。通过深入学习这些内容,可以...
- **1.2.3 Sybase数据库** - Sybase是一款基于C/S架构的RDBMS,支持UNIX和Windows NT平台。 - Sybase与Sybase SQL Anywhere的组合适用于客户机/服务器环境。 - Sybase的开发工具是PowerBuilder。 - Sybase的三个...
### Oracle数据库学习笔记知识点 #### 一、Oracle的用户管理 **Oracle认证体系:** - **OCAR (Oracle Certified Associate):** Oracle初级工程师认证,入门级别认证,为后续更高级别的认证打下基础。 - **OCP ...
MySQL 数据库笔记 MySQL 数据库是关系型数据库管理系统,用于存储和管理大量数据。下面是 MySQL 数据库笔记的知识点总结: 数据库概念 * 数据库是长期存储在计算机内部有结构的、大量的、共享的数据集合。 * ...
Sybase IQ是一款专为决策支持系统(DSS)设计的强大分析型数据库管理系统。它被用来分离决策支持系统和在线事务处理系统(OLTP),以优化性能和存储效率。Sybase IQ的特点包括垂直数据存储和压缩,优化的数据存取...
**SYBASE学习笔记** ...通过这份学习笔记,你可以系统地学习SYBASE的各个方面,逐步成为一名熟练的SYBASE数据库管理员或开发者。不断实践和探索,你会发现SYBASE在处理大数据和高并发场景下的强大实力。
这个压缩包文件可能是关于如何使用C#与Sybase数据库进行交互的教程或参考资料。 描述中提到这些资料是个人使用的,并且是从网上下载的,未经整理。这可能意味着文件内容可能是非官方的,可能包含社区分享的经验、...
这一模型以其简洁性和强大的理论基础,在数据库领域占据主导地位,被广泛应用于ORACLE、SYBASE、INFORMIX、IBM DB2等知名数据库系统中。 关系数据模型的核心是关系,它表现为二维表格形式,包含了行和列。每一列的...
10. **开发接口**:理解如何使用不同的开发接口(如ODBC、JDBC、ADO.NET)与Sybase数据库进行交互,这对于开发基于Sybase的应用程序至关重要。 11. **学习资源**:充分利用提供的学习笔记,它们可能涵盖了上述知识...
在SYBASE IQ数据库中,存储过程是一种强大的工具,它允许用户编写并存储过程化的SQL语句,以便日后重复使用。存储过程不仅可以包含基本的SQL查询,还能够集成诸如LOOP循环、IF和CASE条件判断等控制流结构,从而实现...
### Qracle数据库笔记知识点详解 #### 一、常见数据库分类及介绍 在数据库领域,根据其规模和技术特性,可以将数据库大致分为三类:小型数据库、中型数据库以及大型数据库。 - **小型数据库**:这类数据库通常...
- **Sybase数据库**: - 早期采用 C/S 架构的数据库系统。 - 常与 Sybase SQL Anywhere 配合使用。 - 支持多种操作系统版本,包括 UNIX、Novell Netware 和 Windows NT。 - 被 SAP 收购后继续发展。 - **SQL ...
Sybase IQ 是一种高效的数据仓库系统,它支持存储过程,这是一种在数据库中预编译的SQL语句集合,能够提升应用性能并简化复杂操作。存储过程允许用户将一系列操作封装起来,方便重复使用和调用。 1. **存储过程的...