当前位置: 代码迷 >> PB >> PB9,MSSQL2000,请问,使用“OLE DB”数据接口,与使用“MSS Microsoft SQL Server”的区别,以及产生的有关问题怎么解决
  详细解决方案

PB9,MSSQL2000,请问,使用“OLE DB”数据接口,与使用“MSS Microsoft SQL Server”的区别,以及产生的有关问题怎么解决

热度:394   发布时间:2016-04-29 09:06:47.0
PB9,MSSQL2000,请教,使用“OLE DB”数据接口,与使用“MSS Microsoft SQL Server”的区别,以及产生的问题如何解决?
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"连接时一样?


------解决方案--------------------
PBTrimCharColumns='YES'
------解决方案--------------------
SQLCA.DBParm 里加上PBTrimCharColumns='YES'
  相关解决方案