视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
分享两个关于数据库连接问题的解决方案
2020-11-09 07:33:48 责编:小采
文档


最近在做毕业设计,是一个用powerbuilder开发的小系统,这个东东跟两年前学的vb差不多,但是呢又不太一样,熟悉熟悉环境就开始做了,现在系统已经完成,总结一下这几天遇到的小问题,有时候解决不了确实挺烦人的,但愿给一些用得到的朋友提供一点思路吧。 每

最近在做毕业设计,是一个用powerbuilder开发的小系统,这个东东跟两年前学的vb差不多,但是呢又不太一样,熟悉熟悉环境就开始做了,现在系统已经完成,总结一下这几天遇到的小问题,有时候解决不了确实挺烦人的,但愿给一些用得到的朋友提供一点思路吧。

每次运行系统都要选择数据源,登录SQL Server

连接数据库不成功,未正确配置连接

说到这里,先介绍四种连接方式.

一、使用 SNC SQLNative Client方式连接数据库

sqlca = createtransaction

SQLCA.DBMS= "SNC SQL Native Client(OLE DB)" //接口说明

SQLCA.LogId = "sa" //数据库管理员ID

SQLCA.LogPass= "" //数据库管理员密码

SQLCA.ServerName = "." //数据库服务器名称或者IP地址

SQLCA.DBParm= "Database='techmager'" //要连接的数据库名称

sqlca.autocommit=true //设置是否自动提交

connectusing sqlca ; //执行数据库连接

使用SNC SQL Native Client方式连接数据库时,客户端电脑需要安装 SNC SQL Native Client客户端程序驱动接口

二、使用OLE DB方式连接数据库

SQLCA.DBMS= "OLE DB" //接口说明

SQLCA.LogId = "sa" //数据库管理员ID

SQLCA.LogPass= "" //数据库管理员密码

SQLCA.AutoCommit= False //设置是否自动提交

SQLCA.DBParm ="PROVIDER='SQLOLEDB',DATASOURCE='.',PROVIDERSTRING='database=techmager'" //定义连接的参数DATASOURCE参数说明数据库服务器地址,可以是计算机名称或者IP , PROVIDERSTRING='database=techmager'说明要连接的数据是 techmager

connectusing sqlca; //执行数据库连接

三、使用 ADO.NET连接数据库

SQLCA.DBMS= "ADO.Net" //接口说明

SQLCA.LogId = "sa" //数据库管理员ID

SQLCA.LogPass= '' //数据库管理员密码

SQLCA.AutoCommit= False //设置是否自动提交

SQLCA.DBParm ="Namespace='System.Data.SqlClient',DataSource='.',Database='techmager'" //定义连接的参数DATASOURCE参数说明数据库服务器地 址,可以是计算机名称或者IP,database='techmager'说明要连接的数据是 techmager

connectusing sqlca ; //执行数据库连接

使用ADO.NET连接数据库方式连接数据库时,客户端电脑需要安装dotNetFramework运行环境才能成功连接到数据库

四、使用 ODBC连接数据库

SQLCA.DBMS = "ODBC" //接口说明

SQLCA.SERVERNAME="." //服务器名称或者IP地址

SQLCA.AutoCommit = False //是否自动提交

SQLCA.DBParm ="ConnectString='DSN=technology;UID=sa;PWD=zab'" //服务器数据源配置

connect using sqlca; //执行数据库连接

使用ODBC接口方式连接数据库,客户端电脑必须配置ODBC数据源

我用的ODBC连接,先配置好ODBC数据源,然后写连接字符串就可以了,但当时由于自己写错了连接字符串,所以为避免出错,我建议大家还是直接复制配置好的连接语句吧。可以在这里找。

首先,找到Database


然后,找到自己建立的数据源,右键Properties,在Preview窗口下。

进入登录界面,输入用户名密码后,又弹出错误提示:

this applicationneeds a script for its open event

解决:

应用程序运行的时候需要一个入口程序,就是运行时执行的第一个事件。

在application的open中写入代码: open (w_login)

习惯了VS中右键——设为启动项目,竟忘记了要给它一个启动入口程序,唉。

系统运行中,又出错了,原以为是我程序中写的字段和数据库字段不一致导致找不到或者什么无效之类的,一个个核对完之后发现:不是我的错!


这个问题也好解决,把数据库连接改一下

SQLCA.DBParm = "ConnectString='DSN=drivers;UID=sa;PWD=123456',DisableBind=1,StaticBind=0,CallEscape='No',DelimitIdentifier='Yes',StripParmNames='Yes'"

因为系统用到了存储过程,ODBC不允许带参数,所以必须使得datawindow获得参数的实际值后再直接调用执行过程。高手如是说。

下载本文
显示全文
专题