在 Access 2000 中使用带链接表的数据库或使用 ADODB.RecordSet - 哪个更好?
Use database with linked tables in Access 2000 or use the ADODB.RecordSet - Which is better?
我正在用 Visual Studio 2005 将旧的 VB6 应用程序改造成 VB.NET 并且他们都患有同样的问题。
其中之一是,使用 Access 2000 文件访问 DB2 数据库,该文件具有 link tables 和第二种方法是,使用 ADODB.RecordSet 和连接的字符串 SQL 直接 运行 查询数据库。
我知道我可以使用 Linq,这是完成这项工作的正确工具,但我目前没有时间学习它。我必须尽快完成这项工作。
示例:
Function selectNA_FromMyTable_ByNA(ByVal na As String) As String
Dim sql As String = "SELECT na FROM DB2Scheme.MyTable "
sql = sql & "WHERE (na = '" & na & "')"
Return sql
End Function
和
Function selectNA_FromMyTable_ByNA(ByVal na As String) As String
Dim sql As String = "SELECT na FROM DB2Scheme_MyTable "
sql = sql & "WHERE (na = '" & na & "')"
Return sql
End Function
其中 DB2Scheme_MyTable 是 link 到 DB2Scheme.MyTable table.
我不喜欢混用方法,尽管它们都能正常工作。
哪种方法更好?
哪种方法更适合调试?例如,我如何检测使用该应用程序的用户没有权限从某个table 在方案中?
当然,消除 Access 数据库将是理想的选择。我假设在之前的模型中,Access 数据库也充当前端?如果您要迁移到 .net,那么我看不出保留访问数据库有什么意义。直接转到 db2 数据库,只需注意分发此应用程序时可能需要安装的数据库驱动程序。如果它是一个网络应用程序,问题就更少了。
.net 中的一般错误处理应该显示用户是否有访问问题。如果您的应用程序要使用用户凭据,而不是它自己的用户 ID 来访问数据库,您可能需要在启动应用程序时预先检查一下。我不确定在重写应用程序时这应该是一个问题,您是否使用与正式应用程序相同的身份验证或登录凭据?
我正在用 Visual Studio 2005 将旧的 VB6 应用程序改造成 VB.NET 并且他们都患有同样的问题。
其中之一是,使用 Access 2000 文件访问 DB2 数据库,该文件具有 link tables 和第二种方法是,使用 ADODB.RecordSet 和连接的字符串 SQL 直接 运行 查询数据库。
我知道我可以使用 Linq,这是完成这项工作的正确工具,但我目前没有时间学习它。我必须尽快完成这项工作。
示例:
Function selectNA_FromMyTable_ByNA(ByVal na As String) As String
Dim sql As String = "SELECT na FROM DB2Scheme.MyTable "
sql = sql & "WHERE (na = '" & na & "')"
Return sql
End Function
和
Function selectNA_FromMyTable_ByNA(ByVal na As String) As String
Dim sql As String = "SELECT na FROM DB2Scheme_MyTable "
sql = sql & "WHERE (na = '" & na & "')"
Return sql
End Function
其中 DB2Scheme_MyTable 是 link 到 DB2Scheme.MyTable table.
我不喜欢混用方法,尽管它们都能正常工作。
哪种方法更好?
哪种方法更适合调试?例如,我如何检测使用该应用程序的用户没有权限从某个table 在方案中?
当然,消除 Access 数据库将是理想的选择。我假设在之前的模型中,Access 数据库也充当前端?如果您要迁移到 .net,那么我看不出保留访问数据库有什么意义。直接转到 db2 数据库,只需注意分发此应用程序时可能需要安装的数据库驱动程序。如果它是一个网络应用程序,问题就更少了。
.net 中的一般错误处理应该显示用户是否有访问问题。如果您的应用程序要使用用户凭据,而不是它自己的用户 ID 来访问数据库,您可能需要在启动应用程序时预先检查一下。我不确定在重写应用程序时这应该是一个问题,您是否使用与正式应用程序相同的身份验证或登录凭据?