永发信息网

错误,无法打开数据库的ODBC连接,请检查数据库配置!

答案:1  悬赏:10  手机版
解决时间 2021-02-01 06:56
  • 提问者网友:锁深秋
  • 2021-01-31 09:40
<%
'////////////////////////////////////////////////////////////////////////
'本页:BOSSER数据库控制类,改自Tsys
'说明:本类支持ASP下Access与SqlServer数据库的无缝访问,避免了数据库编程差异问题.
'要求:在使用本类进行数据库访问时,所有的Sql脚本必须与Sql Server为准
'////////////////////////////////////////////////////////////////////////

Class DBControl
Public Conn, DBType

'初始化类
Private Sub Class_Initialize
DBType = Cfg.DataBase_Type
End Sub

'函数:创建数据库链接
'返回:链接对象
Public Function Open()
On Error Resume Next
Set Conn = Server.CreateObject("ADODB.CONNECTION")
Conn.Open Cfg.ConnStr
If Err Then
Response.Write "Error,Could not open database connection for ODBC,Please check up database config!"
Response.End
err.Clear
Set Conn = Nothing
End If
End Function

'函数:创建数据库链接
'参数:链接串
'返回:链接对象
Public Function Close()
Conn.Close
Set Conn = Nothing
End Function

'函数:创建数据库RecordSet对象
'参数:链接串
'返回:链接对象
Public Function CreateRS()
Set CreateRS = Server.CreateObject("ADODB.RecordSet")
End Function

'函数:根据当前数据库类型转换Sql脚本
'参数:Sql串
'返回:转换结果Sql串
Public Function SqlTran(Sql)
If DBType = "ACCESS" Then
SqlTran = SqlServer_To_Access(Sql)
Else
SqlTran = Sql
End If
End Function

'函数:数据库脚本执行(代Sql转换)
'参数:Sql脚本
'返回:执行结果
'说明:本执行可自动根据数据库类型对部分Sql基础语法进行转换执行
Public Function ExeCute(Sql)
On Error Resume Next

Sql = SqlTran(Sql)
Set ExeCute = Conn.ExeCute(Sql)

If Err.Number <> 0 Then
Response.Write "数据库脚本执行失败!(时间:" & Now() & "),<a href=""javascript:history.back();void(0);"">返回</a><br><b>错误:</b><div style='color:red;border:1 solid #C0C0C0 ;padding:5px;background-color:#F6F6F6'>" & Err.Description & Err.Source & "</div>"
If Cfg.PrintDBSqlWithError Then
Response.Write "<b>错误脚本:</b><div style='color:red;border:1 solid #C0C0C0 ;padding:5px;background-color:#F6F6F6'>"&Sql&"</div>"
End If
Response.End
End If
End Function

'函数:数据库脚本执行
'参数:Sql脚本
'返回:执行结果
Public Function ExeCute2(Sql)
Set ExeCute2 = Conn.ExeCute(Sql)
End Function
最佳答案
  • 五星知识达人网友:撞了怀
  • 2021-01-31 10:46
需要设置一个连接字符串吧?
你下面这个函数里的Cfg.ConnStr在哪?
Public Function Open()
On Error Resume Next
Set Conn = Server.CreateObject("ADODB.CONNECTION")
Conn.Open Cfg.ConnStr
If Err Then
Response.Write "Error,Could not open database connection for ODBC,Please check up database config!"
Response.End
err.Clear
Set Conn = Nothing
End If
End Function

你可以这样:
Public Function Open()
On Error Resume Next
Set Conn = Server.CreateObject("ADODB.CONNECTION")
connstr="PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=" & server.MapPath("db/db.mdb") 'access数据库,如果是sql server,请使用sql server的连接字符串
Conn.Open connstr
If Err Then
Response.Write "Error,Could not open database connection for ODBC,Please check up database config!"
Response.End
err.Clear
Set Conn = Nothing
End If
End Function
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯