2012-05-24 4 views
0

나는 이것에 엄청난 문제가있다.MySQL 데이터베이스를 설정하여 다른 컴퓨터에서 연결하는 방법은 무엇입니까?

내가 원하는 것은 : (다른 것들 중에서) 사용자가 간단한 메시지을 보낼 수있는 시스템을 (C#으로) 만들고 싶습니다. 그래서 MySQL 데이터베이스을 만들어 서버에 저장하고 싶습니다. 시스템을 실행하는 다른 컴퓨터는 에이 데이터베이스에 원격으로을 연결하고 특정 테이블을 읽고 새로운 메시지가 있는지 확인해야합니다. 클라이언트 컴퓨터가 인터넷을 통해 을 서버의 데이터베이스에 연결하도록합니다.

하지만 어떻게해야합니까?

  1. 인터넷을 통해 연결할 수있는 데이터베이스는 어떻게 만듭니 까?
  2. 클라이언트 컴퓨터에서 연결 문자열이 어떻게 표시되어야합니까?
  3. 클라이언트 및 서버 컴퓨터에서 어떤 구성을 수행해야합니까?

모든 도움을 주신 데 대해 깊은 고마움을 전하며, 어떻게하면 내 목표를 달성 할 수 있는지 제안 할 수 있습니다. 나는 꽤 유능한 프로그래머이지만,이 네트워크 것들을 싫어합니다!

저는 C#에서 WPF를 사용하여 데이터베이스에 액세스하고 있습니다. 그래서 데스크톱 응용 프로그램입니다!

+2

인터넷을 통해 SQL 서버에 * 직접 연결하는 것은 좋지 않습니다. 아마도 대신 클라이언트가 SQL 백엔드에 액세스 할 수 있도록 SOAP 또는 REST API를 노출하는 HTTP 인터페이스를 구축해야합니까? 대부분의 모든 웹 호스팅 회사가 귀하를 대신하여이를 호스팅 할 수 있습니다. –

답변

0

당신이하는 일은 다음과 같습니다.

MySQL Connector/NET ADO.NET 커넥터를 사용하십시오. 여기 있습니다. http://dev.mysql.com/downloads/connector/net/5.1.html

설정 지침을 따르십시오. 그것은 아주 잘 작동합니다.

MySQL 서버를 공용 IP 주소로 지정하십시오.

클라이언트 소프트웨어 어셈블리가 ADO.NET 커넥터를 통해 공용 IP에 연결되도록하십시오.

하지만 제발!

이것이 올바른지 여부를 자문 해보십시오. MySQL 서버 (및 모든 테이블 서버)가 방화벽 뒤에서있을 때 안전하고 예측 가능하게 작동하고 제한된 수의 클라이언트 패키지로부터의 연결을 수락하기 때문에 아마도 그렇지 않습니다.

Mike Christensen이 제안한 것을 고려하십시오. ASP.NET 및 WCF를 사용하거나 원하는 스택을 사용하여 MySQL 데이터베이스에 서버 상주 인터페이스를 구축하십시오. 그런 다음 서버 상주 인터페이스는 최종 사용자에게 전달하는 클라이언트 소프트웨어에서 액세스 할 수 있습니다.

해당 인터페이스에는 필요한 메소드 만있을 수 있습니다. WCF 또는 다른 서버 구성 요소 스택을 사용하면이 작업을 쉽고 강력하게 수행 할 수 있습니다. 예를 들어.

Client 1: This is moe. Here's a message for curly: "Look at the grouse, look at the grouse". 
Server: OK 

Client 2: This is curly: any new messages? 
Server: moe says "Look at the grouse, look at the grouse". 

Client 1: This is moe. When did curly last collect my messages? 
Server: ten minutes ago. 

Client 2: This curly. any new messages? 
Server: NO 

이것은 인터넷에서 MySQL 인터페이스를 사용할 수있게하는 것보다 훨씬 안전하고 확장 성이 뛰어납니다.

그런데 인스턴트 메시징 프로토콜을 원한다고 생각합니다.http://jabber.org에서 오픈 소스 시스템을 사용하고 싶을 수도 있습니다. 이 물건은 당신이 그것을 스스로 지어낸다면 옳다는 것은 까다로울 수 있습니다.

+0

자세한 답변을 주셔서 감사합니다. ;) 나는 단지 몇 가지를 정리할 수 있을까? WCF 인터페이스와 같은 인터페이스를 사용할 때도 내 데이터베이스를 "제공"해야하거나 컴퓨터에서 로컬로 실행할 수 있습니까? 이는 사용자가받은 메시지를 저장하고 싶기 때문에 인스턴트 메시징 시스템만큼 간단하지 않습니다. – YoungProgrammer

+0

확실합니다. –

+0

죄송합니다. 실수로 'enter'를 눌러주세요! 나 또한 어떤 설정이나 기능을 내가 Workbench MySql에 대한 원격 액세스 할 수 있도록 상호 작용할 필요가 ... 당신이 어쩌면 ... 도와 주시겠습니까 ... 감사합니다;) – YoungProgrammer

관련 문제