随笔分类 - 数据库(Oracle、SqlServer)
摘要:谈到ora-12154问题,网上有一大堆解决方法,原因基本统一:tns或listener配置不正确。对于listener配置不正确的一般较少发生,大多数人都是按照默认配置一路“下一步”过来的,基本都是orcl的服务名,如果说本地可以连通orcl,别的机子就连不通那应该跟listener关系不大。大部分都是tns配置不正确。我遇到的现象是:在本机建了一个2003的虚拟机,虚拟机里面装了oracle10g,默认配置。本机只装了oracle10g的客户端,当我以前用本机连接局域网内数据库的orcl服务(数据库与局域网内数据库一样)时没有问题,但是在连接虚拟机中的orcl服务却连不通,总是报ora-1
阅读全文
摘要:64位操作系统下ODBC的连接使用
阅读全文
摘要:对于MySQL的查询语句中,要使用保留字如select,可不像MS SQL中的用中括号括起来就行了,使用反勾号将保留字括起来就可引用(反勾号就是键盘左上角ESC下的那个键),如: SELECT `SELECT` AS COLUMN1, `TABLE` AS COLUMN2 FROM SOMETABLE; MySQL中的语句最后要以分号结束,这样才可执行。
阅读全文
摘要:第一次安装好MYSQL后,通过ODBC连接,却出现无授权连接的错误,通过程序配置连接字符串也一样报错。原因在于MYSQL系统表中没有写入安装时设置的密码,所以在ODBC中使用密码连接连不到,解决方法: 在MYSQL的控制台中输入 mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('newpwd') -> WHERE ...
阅读全文
摘要:作项目的过程中,经常会遇到SQL查询超时的问题。今天就碰到了,涉及到事务的处理,在事务没有提交时,需要查询新insert进来的数据,结果始终没有返回结果,报查询超时已过期。查询了许多资料,还是没有解决。看了下事务隔离选项的解释,考虑是否因为新的连接查询不能访问未提交的事务,试着把隔离选项改为可访问脏数据,然后用使用事务的OLEDBCommand执行查询,返回结果,发现正常。看来,就是因为这个问题。...
阅读全文
摘要:DECLARE @tableName VARCHAR ( 30 ), @selestr NVARCHAR ( 100 ) DECLARE @i int , @total INT DECLARE ourcur CURSOR FOR SELECT name FROM sysobje...
阅读全文
摘要:存于每一个数据库的syscolumns表里面的name就是列名,xtype就是数据类型,但是这个xtype是数字的,下面是数字和数据类型对应的关系; 1: xtype=34 'image' 2: xtype=35 'text' 3: xtype=36 'uniqueidentifier' 4: xtype=48 'tinyint' 5: xtype=52 'smallint' 6: x...
阅读全文
摘要:Oracle客户端查询工具有时会有查处的结果为中文时不能正常显示,要么为乱码,要么为问号,plsql出现这种问题,以为是版本造成的,用了老的和最新的还是一样,换了另外的数据库工具也一样,但注意一点,数据其实是没有问题的,取出来显示是正常的中文,只是在工具里显示的是问号。其实问题的原理很简单,就是字符集设置不正确造成的,但如此简单的原理在解决的过程中却会遇到很多麻烦,下面结合我遇到和解决的过程,给朋...
阅读全文
摘要:程序在Oracle9i中执行查询语句时报Access violation at address 610A3285 in module 'oracore9.dll'. Write of address 00000000异常。但是在Oracle10g的开发环境下一切正常,应该是数据库版本兼容的问题。可是问题出在哪里呢? 原来是Timestamp格式兼容的问题,也就是如果你是通过ADO方式查询Orac...
阅读全文
摘要:Oracle中CLOB和BLOB字段虽说在开发中满足了存放超大内容的要求,但是在一些简单使用中确频频带来麻烦。CLOB中存放的是指针,并不能直接取到实际值。而SQLServer中的text字段就很方便,可以直接拿来与需要的字符串比对,象什么等于呀小于呀Like呀不在话下。可是换成Oracle就麻烦死了,要开辟一个缓存,把内容一段段读取出来后转换,难道写个where条件都这么复杂?经过多方寻求资料,...
阅读全文