2010-07-20 3 views
0

에뮬레이트 할 수있는 프로그램을 찾고 있습니다. Microsoft SQL 서버를 가장하여 MySQL 데이터베이스로 쿼리를 변환하고 작성합니다. 따라서 SQL Server 데이터베이스 시스템 용으로 만 개발 된 클라이언트 응용 프로그램을 구성하고 에뮬레이터에 연결하여 MySQL 기반 레코드를 작성하고 읽을 수 있습니다.MSSQL에서 MySQL API 로의 변환 계층

도움이 될 것입니다.

+3

사람들이 데이터 액세스 레이어를 개발하여 데이터베이스를 전환 할 수 있습니다. 이걸 가지고 행운을 빌어 ... 응용 프로그램의 SQL을 MySQL 구문으로 변경하는 것이 낫다. – Fosco

+5

잊어 버리십시오 : MySQL을 사용하여 SQL Server를 에뮬레이션하는 것은 모스 부호의 시스틴 예배당을 그림하는 것과 같습니다. –

+0

이 목표는 무엇입니까? SQL을 공통적으로 지원하는 ANSI 하위 집합에 쓰면 그곳에 90 %가 될 것이며 (테스트와 다른 90 %). 데이터베이스 플랫폼의 이동성이 제한되어 있으므로 기능을 기반으로하는 플랫폼을 선택하면 이러한 기능을 사용해야합니다. 우선 일반 데이터베이스 플랫폼을 원한다면 ORM을 사용하고 데이터베이스 성능과 성능을 희생시키고 생성 된 코드를 사용합니다. –

답변

2

완전히 사소한 경우를 제외하고는 이것이 쉽지는 않으며 일반적으로 실용적이지 않습니다. Microsoft SQL Server를 가장 할 수있는 유일한 방법은 SQL Server뿐입니다. MSSQL의 기능 중 일부는 MySQL에서 사용할 수 없으며 그 반대도 마찬가지입니다.

데이터베이스 추상화를 사용하도록 클라이언트 응용 프로그램을 다시 실행할 수 없으면 가장 좋은 방법은 SQL Server를 설치하는 것입니다.

+0

감사합니다. 몇 가지 맞춤 응용 프로그램이 당사를 위해 제 3 자에 의해 개발되었습니다. 호스트 IP, 인스턴스, 데이터베이스 등의 구성은 모두 하드 코딩되었지만 그렇습니까? 이제 DB 호스트를 폐기하고 모든 데이터베이스를 새 호스트로 마이그레이션 할 수 없으므로 (호스트 이름을 유지하고 정확히 동일하게 설정하지 않으면) 불가능합니다. 어쩌면 나는 어떤 종류의 편집자, 어쩌면 응용 프로그램을 수정하기 위해 16 진수 편집기를 사용할 수 있으며, 아직 어떻게 해야할지 모르겠다! –

+1

하드 코드 된 DB IP? 그건 끔찍한 데, 돈을 내 주겠니?! 하드 코딩 된 데이터베이스 유형은 특이한 것이 아니지만 주소는 있습니다. IP 리디렉션 프록시를 넣을 수 있지만 형식을 변경할 수 없습니다.나는 회사에서 사용되는 응용 프로그램에서 16 진수 편집기를 사용하지 않을 것입니다. 가장 좋은 방법은 응용 프로그램을 판매 한 회사에 연락하여 하드 코드를 수정하도록 요청하는 것입니다.이 하드 코드는 실수로 간주됩니다. – Woody

0

라이선스 규칙이 무엇인지 또는 법적 의미가 무엇인지 모르겠지만 어떻게 작성하나요? 당신이 그 사람을 원할 유일한 사람은 아니지만 나는 그 사람이 있다는 것을 모르고 있습니다.

MS는 다른 데이터베이스 엔진이 (의도적으로) 구현하기 위해 고군분투하는 기능을 만들기 위해 상당한 투자를 해왔다고 생각합니다. 바닐라 너머의 것들에 대해서는 아마도 매우 까다 롭습니다.

그렇다면 사용 가능한 SQL Server 버전 (크기는 제한적이지만 작은 데이터베이스의 경우에는 문제가 없음)을 표현했기 때문에 사용할 수없는 이유는 무엇입니까?

+0

고맙습니다 Ragster, 우리는 차량의 상당 부분을 가지고 있으며 그들의 정보와 GEO 데이터는 모두 데이터베이스에 저장됩니다. 데이터베이스 파일 크기는 지난 수년간 90GB가 넘었습니다. 나는 내 자신의 유틸리티를 개발하는 것을 고려해 보았으나 성능, R & D 시간 등 합법적인지, 가능한지, 실행 가능한지 확실하지 않다. 나는 포기하지 않을 것이다. 많은 사람들이 그러한 혜택을 누릴 것이라고 확신한다. 유틸리티, 특히 Linux 기반 서버 시스템. 어쩌면 나는 오픈 소스 커뮤니티에 뭔가를 돌려 줄 수 있을지도 모른다. 친애하는. –

+3

Gosh. 좋아, 그 배경을 감안할 때, 최선의 장기적인 옵션은 거의 확실하다고 말하고 싶다. 애플리케이션을 다시 작성하자. 예, 비용이들 것입니다. 원래 투자 손실을 처리해야하지만, 필요한 유연성이 없거나 yoru 코드의 적절한 소유권으로 인해 비용이 계속 발생할 수 있습니다. 출구 비용을 지불하고 적절하게 처리할수록 좋습니다. 당신의 이익을 위해, 나는 정말로 당신에게 시스템을 다시하도록 조언 할 것이다. – Ragster

2

실제 Microsoft SQL Server는 완벽하게 자신을 가장합니다. 이 MSSQL Server를 "중간 계층"으로 생각한 다음 필요한 데이터를 별도의 MySQL 데이터베이스로 이동하거나 업데이트하는 다른 응용 프로그램을 작성하십시오.

그런 이유로 값 비싼 프록시 계층에는 아무런 이유가 없습니다. 앱에서 요구하는 실제 DB 엔진을 사용하고 다른 앱에서 해당 엔진에 연결하여 필요한 작업을 수행 할 수 있기 때문입니다.

왜 그렇게 비쌉니까? 거대한 개발 팀이받는 다양한 SQL 언어, 통신 프로토콜 및 지속적인 업데이트의 정도를 생각해보십시오. MSSQL과 MySQL 개발자들은 매일 이러한 프록시 서버를 구현하기 위해 노력하고 있습니다.