我在SQL Server 2000里新建了一个数据库,很小型的数据库。
在VB6.0中用语句连接数据库:
Cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\SQLDatabase\MSSQL\Data\Pingyu_Data.MDF;Persist Security Info=False"
运行时,为什么会报错:
实时错误‘-2147467259(80004005)‘:
不可识别的数据库格式’C:\SQLDatabase\MSSQL\Data\Pingyu_Data.MDF‘。
比较急用,这个弄不会,后面的编程就进行不了了……先谢谢了。
4 个解决方案
#1
搜“VB6 ADO”
#2
vb6连接SQL数据库的技术要点:
1、首先在引用中添加数据库连接的引用,包括微软的ADO与ActiveX,可以在代码中创建数据库连接对象与数据表连接对象:
Dim db As New ADODB.Connection, RS As New ADODB.Recordset,其中db是数据库连接对象,RS是数据表连接对象,有了数据库连接对象,才能连接数据库,典型的数据库连接是使用SQL语句连接的,例如:
db.ConnectionTimeout = 10
db.CursorLocation = adUseServer
db.ConnectionString = "driver={SQL Server};server=服务器名称(也就是你的计算机名称,也可以用英文句点,使用英文句点连接比较慢);uid=你的数据库登录名称(一般是sa);pwd=你的数据库登录密码(如果是空密码可以不填);database=你的数据库名称(不是数据库文件名称,即你创建数据库时使用的名称)" '连接数据库的SQL语句代码
db.Open '打开数据库连接
1、首先在引用中添加数据库连接的引用,包括微软的ADO与ActiveX,可以在代码中创建数据库连接对象与数据表连接对象:
Dim db As New ADODB.Connection, RS As New ADODB.Recordset,其中db是数据库连接对象,RS是数据表连接对象,有了数据库连接对象,才能连接数据库,典型的数据库连接是使用SQL语句连接的,例如:
db.ConnectionTimeout = 10
db.CursorLocation = adUseServer
db.ConnectionString = "driver={SQL Server};server=服务器名称(也就是你的计算机名称,也可以用英文句点,使用英文句点连接比较慢);uid=你的数据库登录名称(一般是sa);pwd=你的数据库登录密码(如果是空密码可以不填);database=你的数据库名称(不是数据库文件名称,即你创建数据库时使用的名称)" '连接数据库的SQL语句代码
db.Open '打开数据库连接
#3
给你一个实例:
'服务器名称:AB05,密码空,数据库名称:职工管理系统
'数据表名称:登录,字段:ID、用户名、密码、权限
'连接数据库
db.ConnectionTimeout = 10
db.CursorLocation = adUseServer
db.ConnectionString = "driver={SQL Server};server=AB05;uid=sa;pwd=;database=职工管理系统" '连接数据库的SQL语句
db.Open '打开数据库
strSQL = "Select * From 登录 Where 用户名='" & Text1.Text & "'" '数据表连接SQL语句
RS.Open strSQL, db, 2, 2 '打开数据表连接
If Not RS.EOF Then '判断有没有这个用户名
If RS!密码 = Text2.Text Then '判断密码是否正确
MsgBox "登录成功!"
Else
MsgBox "密码错误"
End If
Else
MsgBox "用户名错误"
End If
RS.Close '关闭数据表对象
db.Close '关闭数据库对象
'服务器名称:AB05,密码空,数据库名称:职工管理系统
'数据表名称:登录,字段:ID、用户名、密码、权限
'连接数据库
db.ConnectionTimeout = 10
db.CursorLocation = adUseServer
db.ConnectionString = "driver={SQL Server};server=AB05;uid=sa;pwd=;database=职工管理系统" '连接数据库的SQL语句
db.Open '打开数据库
strSQL = "Select * From 登录 Where 用户名='" & Text1.Text & "'" '数据表连接SQL语句
RS.Open strSQL, db, 2, 2 '打开数据表连接
If Not RS.EOF Then '判断有没有这个用户名
If RS!密码 = Text2.Text Then '判断密码是否正确
MsgBox "登录成功!"
Else
MsgBox "密码错误"
End If
Else
MsgBox "用户名错误"
End If
RS.Close '关闭数据表对象
db.Close '关闭数据库对象
#4
看到你连接参数写的:Provider=Microsoft.Jet.OLEDB.4.0
jet这个很明显是access的数据库的啊。当然不能识别了。 帮你百度了下:
StrCnn = "Provider=SQLOLEDB.1;Password=密码;Persist Security Info=True;User ID=用户名;Initial Catalog=数据库名;Data Source=服务器名"
应该是上面这个格式,自己去调试吧。
http://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&tn=monline_4_dg&wd=vb%E8%BF%9E%E6%8E%A5sql%20server%E6%95%B0%E6%8D%AE%E5%BA%93%E5%AD%97%E7%AC%A6%E4%B8%B2&oq=vb%E8%BF%9E%E6%8E%A5sql%20server%E6%95%B0%E6%8D%AE%E5%BA%93%E8%BF%9E%E6%8E%A5%E5%AD%97%E7%AC%A6%E4%B8%B2&rsv_pq=cf868ab6000985c3&rsv_t=851akdwTmaAx%2B6HBbwiRv9%2BsYMUI3b6GJbVSLXcjIwd6U1HvR6Xw%2Bry7HsPNfQ%2B9V5y9&rsv_enter=0&inputT=270&rsv_sug3=47&rsv_sug1=12&rsv_sug7=100&rsv_sug2=0&rsv_sug4=1969
jet这个很明显是access的数据库的啊。当然不能识别了。 帮你百度了下:
StrCnn = "Provider=SQLOLEDB.1;Password=密码;Persist Security Info=True;User ID=用户名;Initial Catalog=数据库名;Data Source=服务器名"
应该是上面这个格式,自己去调试吧。
http://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&tn=monline_4_dg&wd=vb%E8%BF%9E%E6%8E%A5sql%20server%E6%95%B0%E6%8D%AE%E5%BA%93%E5%AD%97%E7%AC%A6%E4%B8%B2&oq=vb%E8%BF%9E%E6%8E%A5sql%20server%E6%95%B0%E6%8D%AE%E5%BA%93%E8%BF%9E%E6%8E%A5%E5%AD%97%E7%AC%A6%E4%B8%B2&rsv_pq=cf868ab6000985c3&rsv_t=851akdwTmaAx%2B6HBbwiRv9%2BsYMUI3b6GJbVSLXcjIwd6U1HvR6Xw%2Bry7HsPNfQ%2B9V5y9&rsv_enter=0&inputT=270&rsv_sug3=47&rsv_sug1=12&rsv_sug7=100&rsv_sug2=0&rsv_sug4=1969
#1
搜“VB6 ADO”
#2
vb6连接SQL数据库的技术要点:
1、首先在引用中添加数据库连接的引用,包括微软的ADO与ActiveX,可以在代码中创建数据库连接对象与数据表连接对象:
Dim db As New ADODB.Connection, RS As New ADODB.Recordset,其中db是数据库连接对象,RS是数据表连接对象,有了数据库连接对象,才能连接数据库,典型的数据库连接是使用SQL语句连接的,例如:
db.ConnectionTimeout = 10
db.CursorLocation = adUseServer
db.ConnectionString = "driver={SQL Server};server=服务器名称(也就是你的计算机名称,也可以用英文句点,使用英文句点连接比较慢);uid=你的数据库登录名称(一般是sa);pwd=你的数据库登录密码(如果是空密码可以不填);database=你的数据库名称(不是数据库文件名称,即你创建数据库时使用的名称)" '连接数据库的SQL语句代码
db.Open '打开数据库连接
1、首先在引用中添加数据库连接的引用,包括微软的ADO与ActiveX,可以在代码中创建数据库连接对象与数据表连接对象:
Dim db As New ADODB.Connection, RS As New ADODB.Recordset,其中db是数据库连接对象,RS是数据表连接对象,有了数据库连接对象,才能连接数据库,典型的数据库连接是使用SQL语句连接的,例如:
db.ConnectionTimeout = 10
db.CursorLocation = adUseServer
db.ConnectionString = "driver={SQL Server};server=服务器名称(也就是你的计算机名称,也可以用英文句点,使用英文句点连接比较慢);uid=你的数据库登录名称(一般是sa);pwd=你的数据库登录密码(如果是空密码可以不填);database=你的数据库名称(不是数据库文件名称,即你创建数据库时使用的名称)" '连接数据库的SQL语句代码
db.Open '打开数据库连接
#3
给你一个实例:
'服务器名称:AB05,密码空,数据库名称:职工管理系统
'数据表名称:登录,字段:ID、用户名、密码、权限
'连接数据库
db.ConnectionTimeout = 10
db.CursorLocation = adUseServer
db.ConnectionString = "driver={SQL Server};server=AB05;uid=sa;pwd=;database=职工管理系统" '连接数据库的SQL语句
db.Open '打开数据库
strSQL = "Select * From 登录 Where 用户名='" & Text1.Text & "'" '数据表连接SQL语句
RS.Open strSQL, db, 2, 2 '打开数据表连接
If Not RS.EOF Then '判断有没有这个用户名
If RS!密码 = Text2.Text Then '判断密码是否正确
MsgBox "登录成功!"
Else
MsgBox "密码错误"
End If
Else
MsgBox "用户名错误"
End If
RS.Close '关闭数据表对象
db.Close '关闭数据库对象
'服务器名称:AB05,密码空,数据库名称:职工管理系统
'数据表名称:登录,字段:ID、用户名、密码、权限
'连接数据库
db.ConnectionTimeout = 10
db.CursorLocation = adUseServer
db.ConnectionString = "driver={SQL Server};server=AB05;uid=sa;pwd=;database=职工管理系统" '连接数据库的SQL语句
db.Open '打开数据库
strSQL = "Select * From 登录 Where 用户名='" & Text1.Text & "'" '数据表连接SQL语句
RS.Open strSQL, db, 2, 2 '打开数据表连接
If Not RS.EOF Then '判断有没有这个用户名
If RS!密码 = Text2.Text Then '判断密码是否正确
MsgBox "登录成功!"
Else
MsgBox "密码错误"
End If
Else
MsgBox "用户名错误"
End If
RS.Close '关闭数据表对象
db.Close '关闭数据库对象
#4
看到你连接参数写的:Provider=Microsoft.Jet.OLEDB.4.0
jet这个很明显是access的数据库的啊。当然不能识别了。 帮你百度了下:
StrCnn = "Provider=SQLOLEDB.1;Password=密码;Persist Security Info=True;User ID=用户名;Initial Catalog=数据库名;Data Source=服务器名"
应该是上面这个格式,自己去调试吧。
http://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&tn=monline_4_dg&wd=vb%E8%BF%9E%E6%8E%A5sql%20server%E6%95%B0%E6%8D%AE%E5%BA%93%E5%AD%97%E7%AC%A6%E4%B8%B2&oq=vb%E8%BF%9E%E6%8E%A5sql%20server%E6%95%B0%E6%8D%AE%E5%BA%93%E8%BF%9E%E6%8E%A5%E5%AD%97%E7%AC%A6%E4%B8%B2&rsv_pq=cf868ab6000985c3&rsv_t=851akdwTmaAx%2B6HBbwiRv9%2BsYMUI3b6GJbVSLXcjIwd6U1HvR6Xw%2Bry7HsPNfQ%2B9V5y9&rsv_enter=0&inputT=270&rsv_sug3=47&rsv_sug1=12&rsv_sug7=100&rsv_sug2=0&rsv_sug4=1969
jet这个很明显是access的数据库的啊。当然不能识别了。 帮你百度了下:
StrCnn = "Provider=SQLOLEDB.1;Password=密码;Persist Security Info=True;User ID=用户名;Initial Catalog=数据库名;Data Source=服务器名"
应该是上面这个格式,自己去调试吧。
http://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&tn=monline_4_dg&wd=vb%E8%BF%9E%E6%8E%A5sql%20server%E6%95%B0%E6%8D%AE%E5%BA%93%E5%AD%97%E7%AC%A6%E4%B8%B2&oq=vb%E8%BF%9E%E6%8E%A5sql%20server%E6%95%B0%E6%8D%AE%E5%BA%93%E8%BF%9E%E6%8E%A5%E5%AD%97%E7%AC%A6%E4%B8%B2&rsv_pq=cf868ab6000985c3&rsv_t=851akdwTmaAx%2B6HBbwiRv9%2BsYMUI3b6GJbVSLXcjIwd6U1HvR6Xw%2Bry7HsPNfQ%2B9V5y9&rsv_enter=0&inputT=270&rsv_sug3=47&rsv_sug1=12&rsv_sug7=100&rsv_sug2=0&rsv_sug4=1969