【问题标题】:Legacy VB6 Application Access To SQL Database Migration旧版 VB6 应用程序访问 SQL 数据库迁移
【发布时间】:2015-06-14 11:11:36
【问题描述】:

我的公司有超过 100 个表格的 vb6 应用程序。应用程序是使用 VB6 和 Access 开发的。 现在我的公司希望我将现有的应用程序从 MS Access 转换为 SQL Server。 应用程序正在使用 DAO 与 Access 连接。我已经将 Access 数据库转换为带有数据的 SQL。 然后我变了

Private db As Database
Set db = OpenDatabase(Access_File_Path, dbDriverComplete, False, ";pwd=access_password;")

Set db = OpenDatabase("", False, False, "odbc;dsn=Database_ODBC_Name")

所有选择、插入、更新、删除查询都可以正常工作。
但我在这条线上遇到了错误

.Recordset.AddNew
.Recordset.Delete
.Recordset.Update
.Recordset.CancelUpdate

得到类似的错误

运行时错误 3027 无法更新,数据库或对象是只读的

ODBC 错误

有任何解决方案或方法可以将现有代码与 SQL 一起使用吗?

【问题讨论】:

标签: sql ms-access vb6 dao


【解决方案1】:

正如你的错误信息所说:

由于以下原因之一,数据库是只读的:

  • 您使用了 OpenDatabase 方法并以只读方式打开了数据库。
  • 在 Microsoft Visual Basic 中,您使用的是 Data 控件,并将 ReadOnly 属性设置为 True。
  • 数据库文件在操作系统或您的网络中被定义为只读。
  • 数据库文件存储在只读媒体上。
  • 在网络环境中,您没有数据库文件的写入权限。
  • 使用安全数据库时,数据库或其对象之一(例如字段或表)可能被设置为只读。您可能无权使用您的用户名和密码访问这些数据。

关闭数据库,解决只读条件,然后重新打开文件进行读/写访问。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-02
    • 1970-01-01
    • 2017-03-02
    • 1970-01-01
    • 2011-11-06
    相关资源
    最近更新 更多