pb10.0通过 OLE DB 连接SQL Server 2000的问题

时间:2021-12-15 18:02:04
连接的时候出现数据库错误,错误内容如下:
SQLSTATE=28000 Microsoft OLE DB Provider for SQL Server 无效的授权说明
各位大侠帮帮忙!!!!

7 个解决方案

#1


不明白,帮顶

#2


请问你那里有pbmss100.dll么?如果有的话,帮忙发到邮箱lookering02@163.com,万分感谢!!!

#3


你也用DBMS MSS MS SQL SERVER 6.X直接链接算了,我就缺pbmss100.dll。

#4


连接参数如下
integer li_FileNum
if FileExists("Xzdxpt.ini")=false then
li_FileNum = FileOpen("Xzdxpt.ini", lineMode!, Write!, LockWrite!, Replace!)
FileWrite(li_FileNum,"[Database]")
FileWrite(li_FileNum,"DATASOURCE=")
FileWrite(li_FileNum,"Database=")
FileWrite(li_FileNum,"LogPass=")
FileWrite(li_FileNum,"LogId=")
FileWrite(li_FileNum,"[User Info]")
FileWrite(li_FileNum,"uid=")
FileWrite(li_FileNum,"[SYSTEMINI]")
FileWrite(li_FileNum,"DSSJ=")
FileWrite(li_FileNum,"BirthDay=")
FileWrite(li_FileNum,"Default=")
FileClose(li_FileNum)
SetProfileString("Xzdxpt.ini","Database","DATASOURCE","UNITECH-05")
SetProfileString("Xzdxpt.ini","Database","Database","xzdxpt")
SetProfileString("Xzdxpt.ini", "Database", "LogPass","sa")
SetProfileString("Xzdxpt.ini","Database","LogId","sa")
SetProfileString("Xzdxpt.ini", "User Info", "uid","admin")
SetProfileString("Xzdxpt.ini", "SYSTEMINI", "DSSJ","08:30")
SetProfileString("Xzdxpt.ini", "SYSTEMINI", "Birthday","祝您生日快乐!")
SetProfileString("Xzdxpt.ini", "SYSTEMINI", "Default","祝节日快乐!")
end if
SQLCA.DBMS = "OLE DB"
SQLCA.Database = ProfileString("Xzdxpt.ini","Database","Database","")
SQLCA.LogPass = ProfileString("Xzdxpt.ini","Database","LogPass","")
SQLCA.LogPass = ProfileString("Xzdxpt.ini","Database","LogId","")
SQLCA.AutoCommit = False
SQLCA.DBParm = "PROVIDER='SQLOLEDB',DATASOURCE='UNITECH-05',PROVIDERSTRING='Database=xzdxpt'"
connect using sqlca;
if sqlca.sqlcode<>0 then
messagebox("数据库错误",sqlca.sqlerrtext)
else
open(w_login)
end if

#5


你試試不用ini文件來連接試試﹐就是DB ProFile那里拷貝連接代碼﹐寫上connect;
還有﹐pb10連接數據庫不用pbmss100.dll的﹐本人用pb10.5﹐就沒有發現要這個pbmss105.dll的

#6


错误已解决,是SQLCA.LogPass  =  ProfileString(  "Xzdxpt.ini  ",  "Database  ",  "LogId  ",  "  ")  
这句出了问题............

#7


谢谢大家的参与

#1


不明白,帮顶

#2


请问你那里有pbmss100.dll么?如果有的话,帮忙发到邮箱lookering02@163.com,万分感谢!!!

#3


你也用DBMS MSS MS SQL SERVER 6.X直接链接算了,我就缺pbmss100.dll。

#4


连接参数如下
integer li_FileNum
if FileExists("Xzdxpt.ini")=false then
li_FileNum = FileOpen("Xzdxpt.ini", lineMode!, Write!, LockWrite!, Replace!)
FileWrite(li_FileNum,"[Database]")
FileWrite(li_FileNum,"DATASOURCE=")
FileWrite(li_FileNum,"Database=")
FileWrite(li_FileNum,"LogPass=")
FileWrite(li_FileNum,"LogId=")
FileWrite(li_FileNum,"[User Info]")
FileWrite(li_FileNum,"uid=")
FileWrite(li_FileNum,"[SYSTEMINI]")
FileWrite(li_FileNum,"DSSJ=")
FileWrite(li_FileNum,"BirthDay=")
FileWrite(li_FileNum,"Default=")
FileClose(li_FileNum)
SetProfileString("Xzdxpt.ini","Database","DATASOURCE","UNITECH-05")
SetProfileString("Xzdxpt.ini","Database","Database","xzdxpt")
SetProfileString("Xzdxpt.ini", "Database", "LogPass","sa")
SetProfileString("Xzdxpt.ini","Database","LogId","sa")
SetProfileString("Xzdxpt.ini", "User Info", "uid","admin")
SetProfileString("Xzdxpt.ini", "SYSTEMINI", "DSSJ","08:30")
SetProfileString("Xzdxpt.ini", "SYSTEMINI", "Birthday","祝您生日快乐!")
SetProfileString("Xzdxpt.ini", "SYSTEMINI", "Default","祝节日快乐!")
end if
SQLCA.DBMS = "OLE DB"
SQLCA.Database = ProfileString("Xzdxpt.ini","Database","Database","")
SQLCA.LogPass = ProfileString("Xzdxpt.ini","Database","LogPass","")
SQLCA.LogPass = ProfileString("Xzdxpt.ini","Database","LogId","")
SQLCA.AutoCommit = False
SQLCA.DBParm = "PROVIDER='SQLOLEDB',DATASOURCE='UNITECH-05',PROVIDERSTRING='Database=xzdxpt'"
connect using sqlca;
if sqlca.sqlcode<>0 then
messagebox("数据库错误",sqlca.sqlerrtext)
else
open(w_login)
end if

#5


你試試不用ini文件來連接試試﹐就是DB ProFile那里拷貝連接代碼﹐寫上connect;
還有﹐pb10連接數據庫不用pbmss100.dll的﹐本人用pb10.5﹐就沒有發現要這個pbmss105.dll的

#6


错误已解决,是SQLCA.LogPass  =  ProfileString(  "Xzdxpt.ini  ",  "Database  ",  "LogId  ",  "  ")  
这句出了问题............

#7


谢谢大家的参与