热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PB9,MSSQL2000,请教,使用“OLEDB”数据接口,与使用“MSSMicrosoftSQLServer”的区别,以及产生的问题如何解决?

PB9,MSSQL2000,请教,使用“OLEMicrosoftOLEDB”数据接口,与使用“MSSMicrosoftSQLServer”的区别,以及产生的问题如何解决?一个程序P
PB9,MSSQL2000,请教,使用“OLE Microsoft OLE DB”数据接口,与使用“MSS Microsoft SQL Server”的区别,以及产生的问题如何解决?

一个程序PB9,MSSQL2000,原来编写的时候,使用的是“MSS Microsoft SQL Server”接口连接的数据库

SQLCA.DBMS = "MSS Microsoft SQL Server"
SQLCA.Database = "fcjg"
SQLCA.LogPass = sa
SQLCA.ServerName = "clzw-ljh"
SQLCA.LogId = "sa"
SQLCA.AutoCommit = True
SQLCA.DBParm = ""
--------------------------------------------------------------------------------
现在改用“OLE Microsoft OLE DB”连接

SQLCA.DBMS = "OLE DB"
SQLCA.LogPass = sa
SQLCA.LogId = "sa"
SQLCA.AutoCommit = True
SQLCA.DBParm = "PROVIDER='SQLOLEDB',DATASOURCE='clzw-ljh',PROVIDERSTRING='database=fcjg',TIMEOUT=10"
--------------------------------------------------------------------------------

两种连接数据库的方法都是可以正常连接数据库的。问题是
原来使用"MSS Microsoft SQL Server"连接时,数据库中一个长度为10的字符列中如果只有3个字符,例如"123",哪么在PB中类似
SELECT .... INTO....这样的语句取出的 字符串 就是 "123"
而改用"OLE Microsoft OLE DB"连接时,类似
SELECT .... INTO....这样的语句取出的 字符串 就是 "123        "

在数据窗口中也会出现这种情况。这两种区别造成了整个程序的混乱。

一问:这种区别是如何产生的?
二问:如何让用"OLE Microsoft OLE DB"跟用"MSS Microsoft SQL Server"连接时一样?

11 个解决方案

#1


论坛的问题:
这句话 
--------------------------------------------------------
而改用"OLE Microsoft OLE DB"连接时,类似
SELECT .... INTO....这样的语句取出的 字符串 就是 "123 "
--------------------------------------------------------
意思是:

而改用"OLE Microsoft OLE DB"连接时,类似
SELECT .... INTO....这样的语句取出的 字符串 就是 "123口口口口口口口"

“口”代表“空格”

#2


PBTrimCharColumns='YES'

#3


SQLCA.DBParm 里加上PBTrimCharColumns='YES'

#4


谢谢楼上二位,代码中加入这句后可以了。

但还要问下,

1、这个 PBTrimCharColumns='YES' 在PB的 Database Profiles 中如何选择?哪个选项是它?

2、"OLE Microsoft OLE DB"连接与"MSS Microsoft SQL Server"连接还有其他的那些区别吗?担心这个解决了又出其他的问题。

#5


一,代码直接加
二,有问题再问

#6


这个问题,在数据库设置字段为varchar型也可以解决。

两种连接的区别,还有一个重要的方面,就是并发控制。

#7


re : lovemoreh

请说下并发控制的区别

#8


re : zb63668331

一,在编写程序过程中 要用到 Database Profiles  的啊

二,马上就有问题了

代码中有句
INSERT INTO sfjl(xh,jyear,jmonth,bm,qubh,louhao,mph,jzmj,symj,yzf,ywf,sfbz,jfxz,jfxs)
SELECT "退/补",:d_year,:i,bm,qubh,louhao,mph,jzmj,symj,:d_yzf,:d_ywf,1,"当年","现金"  FROM main where sfbz = 1 and bm = :i_bm ;

用“MSS Microsoft SQL Server”连接时正常能插入数据,而在用“OLE Microsoft OLE DB”时候就不能,

跟踪发现好像提示 "退/补"是无效的列

,使用“OLE Microsoft OLE DB”数据接口,与使



#9


我一般是设置:
transobject.lock = 'rc'.

你参考看看。

#10


引用 9 楼 lovemoreh 的回复:
我一般是设置:
transobject.lock = 'rc'.

你参考看看。

跟这个没关系
不行的话你都改为变量

#11


pb11 就只有OLE Microsoft OLE DB了

推荐阅读
  • 解决.net项目中未注册“microsoft.ACE.oledb.12.0”提供程序的方法
    在开发.net项目中,通过microsoft.ACE.oledb读取excel文件信息时,报错“未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序”。本文提供了解决这个问题的方法,包括错误描述和代码示例。通过注册提供程序和修改连接字符串,可以成功读取excel文件信息。 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 本文详细介绍了Spring的JdbcTemplate的使用方法,包括执行存储过程、存储函数的call()方法,执行任何SQL语句的execute()方法,单个更新和批量更新的update()和batchUpdate()方法,以及单查和列表查询的query()和queryForXXX()方法。提供了经过测试的API供使用。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • 本文详细介绍了如何使用MySQL来显示SQL语句的执行时间,并通过MySQL Query Profiler获取CPU和内存使用量以及系统锁和表锁的时间。同时介绍了效能分析的三种方法:瓶颈分析、工作负载分析和基于比率的分析。 ... [详细]
  • FineReport平台数据分析图表显示部分系列接口的应用场景和实现思路
    本文介绍了FineReport平台数据分析图表显示部分系列接口的应用场景和实现思路。当图表系列较多时,用户希望可以自己设置哪些系列显示,哪些系列不显示。通过调用FR.Chart.WebUtils.getChart("chartID").getChartWithIndex(chartIndex).setSeriesVisible()接口,可以获取需要显示的系列图表对象,并在表单中显示这些系列。本文以决策报表为例,详细介绍了实现方法,并给出了示例。 ... [详细]
  • 本文讨论了在使用sp_msforeachdb执行动态SQL命令时,当发生错误时如何捕获数据库名称。提供了两种解决方案,并介绍了如何正确使用'?'来显示数据库名称。 ... [详细]
  • OO第一单元自白:简单多项式导函数的设计与bug分析
    本文介绍了作者在学习OO的第一次作业中所遇到的问题及其解决方案。作者通过建立Multinomial和Monomial两个类来实现多项式和单项式,并通过append方法将单项式组合为多项式,并在此过程中合并同类项。作者还介绍了单项式和多项式的求导方法,并解释了如何利用正则表达式提取各个单项式并进行求导。同时,作者还对自己在输入合法性判断上的不足进行了bug分析,指出了自己在处理指数情况时出现的问题,并总结了被hack的原因。 ... [详细]
  • 预备知识可参考我整理的博客Windows编程之线程:https:www.cnblogs.comZhuSenlinp16662075.htmlWindows编程之线程同步:https ... [详细]
  • 在Oracle11g以前版本中的的DataGuard物理备用数据库,可以以只读的方式打开数据库,但此时MediaRecovery利用日志进行数据同步的过 ... [详细]
  • 本文介绍了Oracle存储过程的基本语法和写法示例,同时还介绍了已命名的系统异常的产生原因。 ... [详细]
  • MySQL中的MVVC多版本并发控制机制的应用及实现
    本文介绍了MySQL中MVCC的应用及实现机制。MVCC是一种提高并发性能的技术,通过对事务内读取的内存进行处理,避免写操作堵塞读操作的并发问题。与其他数据库系统的MVCC实现机制不尽相同,MySQL的MVCC是在undolog中实现的。通过undolog可以找回数据的历史版本,提供给用户读取或在回滚时覆盖数据页上的数据。MySQL的大多数事务型存储引擎都实现了MVCC,但各自的实现机制有所不同。 ... [详细]
author-avatar
手哥2502852243
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有