2010-03-18 2 views
2

요구 사항 : 동일한 웹 호스트 1 및 1에서 호스팅되는 Linux 및 Windows에있는 MS Sql 서버 업데이트로 MySQL 데이터베이스를 업데이트해야합니다. 서버 중 하나에서 서로 다른 데이터베이스에 액세스하면, 공유 호스팅에 따라 1and1의 천재 덕분에 가능하지 않다 ..SQL Server에서 PHP Cron 작업으로 처리 할 수있는 텍스트 형식의 목록을 만들 수 있습니까?

내가 선택한 솔루션 : I 출력하고자 처리 된 텍스트 형식의 Asp.Net 페이지에있는 모든 활성 명부 정기적으로 PHP cron 작업을 사용합니다.

왜이 이상한 해결책 : (MySQL과 MS SQL Server 간의 차이를 좁히기 위해)이 기능을 구현하는 데는 다음과 같이 돈을 지불합니다.

너희들은 어떻게 생각하니? 어떻게해야합니까? 내가 닷넷 프로그래밍을 만난 지 꽤 오래되었습니다. 이 솔루션을 달성하기위한 코드 샘플은 매우 높이 평가됩니다. 고마워요 여러분!

답변

1

나는 당신이 말하는 데이터의 양과 관련이 있다고 생각합니다. 양이 엄청난 수없는 경우 데이터베이스의 구조가 동일한 경우

는, (나는 당시 기록에 1 백만에서) 생각하고 공연의 문제가 발생하지 않는 경우에 당신이 할 필요가

입니다

1 쿼리 SQL Server와는

3은 MYSQL 테이블 내부의 모든 데이터를 삽입 MYSQL

에 테이블

2 빈 같은 테이블에서 모든 것을 압축을 풉니 다.

이전의 "if"중 하나를 처리해야하는 경우 해결 방법은 보유한 제약 조건에 따라 달라질 수 있습니다.

+0

정말 고마워요! 정확히 구현할 계획입니다. 먼저 매번 MySQL을 비우지 않고 플래그 (0/1)를 기반으로 매시간 Out.txt 파일에 증분 업데이트를 작성한다고 생각했습니다. 데이터는 500 개가 넘는 기록에는 없습니다! 현재 ASP.Net의 구문이 사용 중입니다. 나는 PHP와 ASP와 결혼했다.인터넷은 아는 사람과 가까운 곳이 아닙니다! – ThinkCode

0

ASP.NET 페이지에서 응답의 ContentType을 CSV로 설정하면 Response.Writes를 수행하기 전에 파일을 CSV (필자는 쉼표로 끝나지만 무엇이든) 또는 텍스트 만 있으면됩니다. MySQL의 LOAD INFILE 명령을 사용하여 권한에 따라 전체적으로 많은 작업을 수행 할 필요가 없습니다.

당신이 이미 해킹/kludge 계획을 가지고있는 것처럼 들리 겠지만, 당신이 그것에 대해 말하면서 싫증이 나더라도. :)

+0

아이디어를 자세히 설명해 주시겠습니까? 파이프로 구분 된 파일을 내보내고 그 파일을 처리하거나 ASP.Net 페이지에서 직접 파일을 처리하는 것을 말하고 있습니까? 나는 혼란 스럽다. – ThinkCode

+0

일정대로 계획을 이해함에 따라 PHP는 ASP.NET 페이지를 HTTP-GET 할 수 있습니다. 나는 그것을 확인하고 확장하는 것과 같았습니다. ASP.NET에서 Response.Writes (또는 어떤 종류의 출력)를하기 전에 COntentType을 텍스트로 변경하십시오. 그런 다음 PHP 파일에서 MySql의 LOAD INFILE 명령을 텍스트 파일의 행을 반복하는 대신 사용하십시오 - 이동하는 동안 수정해야하는 경우가 아니면. 번갈아서, 네가 할 수있는 것은 * ASP.NET 페이지에서 작업을 수행하고 방정식에서 PHP 단계를 밟을 수 있습니다. cron 작업이 쉘에서 HTTP-GET을 수행하게하고, 실행하고 잊어 버리십시오. 그 도움이 되었습니까 아니요? – TomR

관련 문제