0

Visual Studio 2005를 사용하여 VB6 응용 프로그램을 VB.NET에 다시 작성하고 모두 동일한 문제가 발생합니다. 그 중Access 2000에서 연결된 테이블이있는 데이터베이스를 사용하거나 ADODB.RecordSet을 사용하십시오.

하나는, 직접에 실행 연결된 문자열 SQL 쿼리와 ADODB.RecordSet을 을 사용하는 테이블과 두 번째 방법에 대한 링크가있는 액세스 2000 파일을 사용하여 DB2 데이터베이스에 액세스한다 데이터 베이스.

나는 직장을위한 올바른 도구 인 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 

DB2Scheme_MyTable가 DB2Scheme.MyTable 테이블 링크가

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 

.

둘 다 제대로 작동하지만 믹싱 방식이 마음에 들지 않습니다.

더 나은 접근 방법은 무엇입니까?

어떤 방법으로 디버깅하는 것이 좋을까요? 예를 들어, 응용 프로그램을 사용하는 사용자에게 스키마의 특정 테이블에서 데이터를 쓰거나 읽을 수있는 권한이없는 것을 어떻게 발견합니까?

+2

VS2005는 linq을 포함하지 않는 NET 2.0으로 제한합니다. 또한 ADONET이 중요한 업그레이드가 될 것 같습니다. – Plutonix

+1

. NET에서 ADODB.RecordSet을 사용하지 마십시오 (가능할 경우). – IvanH

+0

나는 @IvanH를 시도 할 것이다 :) 여기의 사람은 매우 구식이다. 새롭고 더 나은 기술 구현이 어렵다. – Vlad

답변

1

확실히 Access 데이터베이스를 제거하는 것이 이상적입니다. 이전 모델에서는 Access 데이터베이스가 프런트 엔드 역할을한다고 가정합니까? .net으로 이동하는 경우 액세스 데이터베이스를 유지하는 것이 중요하지 않습니다. 직접 db2 데이터베이스로 가십시오,이 응용 프로그램을 배포 할 때 설치해야 할 수도있는 데이터베이스 드라이버를 염두에 두십시오. 그것의 웹 앱이라면 문제는 적다.

.net의 일반적인 오류 처리는 사용자에게 액세스 문제가 있는지 보여 주어야합니다. 응용 프로그램이 사용자 자격 증명을 사용하고 데이터베이스에 액세스하기위한 자체 사용자 ID가 아닌 경우 응용 프로그램이 실행될 때이를 확인할 수 있습니다. 응용 프로그램을 다시 작성할 때이 문제가 우려되어야하는지, 정식 응용 프로그램에 사용되는 동일한 인증이나 로그온 자격 증명을 사용하지 않는지 확실하지 않습니다.

관련 문제