کلیدستان

نسخه‌ی کامل: ارتباط بین ایکلیپس (یا اندروید استادیو) و sql server
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام 

من  می خوام برنامه برای شرکتی بنویسم که همه اطلاعاتش روی  دیتابیس sql هست و فقط یک ip به من داده می خواستم این سوال بپرسم که 
 
این دیتابیس روی هاست اینپورت کردن یا اینکه از طریق خود برنامه sql server به اشتراک گذاشته شده و ما با خود sql  باید ارتباط برقرار کنیم 
یا اینکه اول دیتابیس و تیبل ها را با sql  ساخته و بعدی روی هاست اینپورت کردن و ما باید از این طریق با این دیتابیس ارتباط برقرار کنیم 

لطفا راهنمایی کنید .
سلام.

(۱۳۹۴/۰۹/۱۸, ۱۰:۰۴ ب.ظ)kavos نوشته: [ -> ]این دیتابیس روی هاست اینپورت کردن یا اینکه از طریق خود برنامه sql server به اشتراک گذاشته شده و ما با خود sql  باید ارتباط برقرار کنیم 
یا اینکه اول دیتابیس و تیبل ها را با sql  ساخته و بعدی روی هاست اینپورت کردن و ما باید از این طریق با این دیتابیس ارتباط برقرار کنیم 

بنده تا به امروز با sql server کار نکردم، ولی مواردی که به ذهنم میرسه رو بیان می کنم.

در هر کجا میشه پایگاه داده و جدول های آن را ساخت و بعد انتقال پایگاه داده ها امکان پذیر است (مثلا از کامپیوتر خانگی به هاست یا از هاست به هاست یا ...). در واقع، اهمیتی ندارد که پایگاه داده چگونه ساخته شده (در خود هاست ساخته شده یا اینکه import شده است)، مهم این است که اگنون ساختار اطلاعات پایگاه داده به چه صورت می باشد.

برای MySQL ، مباحثی در دسته بندی زیر نوشته شده است :

http://www.kelidestan.com/keys/categorie...ategory=18

شما تنها باید توابع و روش هایی که در PHP برای کار با sql server به کار می روند را بیابید (مثل mssql_connect و ...) و با آنها، عملیات اتصال به پایگاه داده و تبادل اطلاعات (خواندن یا ثبت اطلاعات در پایگاه داده) را انجام  بدهید (query های sql تغییری نمی کند و روند ارتباط با فایل php و ... نیز یکسان می باشد). 
بنابراین شما باید یک صفحه PHP را در هاست قرار داده باشید تا بر اساس آن با پایگاه داده تبادل اطلاعات کنید.

Flower
(۱۳۹۴/۰۹/۱۸, ۱۰:۰۴ ب.ظ)kavos نوشته: [ -> ]سلام 

من  می خوام برنامه برای شرکتی بنویسم که همه اطلاعاتش روی  دیتابیس sql هست و فقط یک ip به من داده می خواستم این سوال بپرسم که 
 
این دیتابیس روی هاست اینپورت کردن یا اینکه از طریق خود برنامه sql server به اشتراک گذاشته شده و ما با خود sql  باید ارتباط برقرار کنیم 
یا اینکه اول دیتابیس و تیبل ها را با sql  ساخته و بعدی روی هاست اینپورت کردن و ما باید از این طریق با این دیتابیس ارتباط برقرار کنیم 

لطفا راهنمایی کنید .

من تلاش زیادی روی این موضوع کردم به این نتیجه رسیدم 
1- زمانی که شما اطلاعاتتان روی دیتابیس sqlserver هست از هاست ویندوز استفاده کنید یعنی این هاست ویندوزی هست که از این امکان پشتیبانی می کند و معمولا sql2012 هست 
2- چون کار کردن با sql هاست سخت است بهتر است برنامه sqlserver  را بر روی سیستم خود نصب کنید تا بتوانید بصورت آنلاین با دیتابیس خود کارکنید 
3- کد های php که برای برقراری ارتباط با دیتابیس استفاده می کنید تفاوت زیادی با mysql  نیست فقط بجای mysql بنوسید mssql
4- زمانی که از طریق اندروید (اندروید استادیو ) می خواهید ارتباط برقرار کنید با از کتابخانه jtds-1.3.1-dist   استفاده کنید 
نمونه کد اندروید
کد پی‌اچ‌پی:
package com.application.myapplication;

import android.app.Activity;
import android.os.Bundle;
import android.os.StrictMode;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.SimpleAdapter;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class 
MainActivity extends Activity {

    
EditText  input_text;
    
Button   run;
    
SimpleAdapter AD;
    
Connection connect;
    
ListView Lista;
    @
Override
    
protected void onCreate(Bundle savedInstanceState) {
        
super.onCreate(savedInstanceState);
        
setContentView(R.layout.activity_main);
        
inicializar();
        
run.setOnClickListener(new View.OnClickListener() {
            @
Override
            
public void onClick(View v) {
                
QuerySQL(input_text.getText().toString());


            }
        });



    }
    private  
void declarar(){
        
input_text= (EditTextfindViewById(R.id.editText);
        
run= (ButtonfindViewById(R.id.button);
        
Lista= (ListViewfindViewById(R.id.listView);



    }

    private  
void inicializar() {
        
declarar();
        
input_text.setText("SELECT  * FROM Table_1");
        
connect=CONN("kavos","1841869120kavos","kavos","67.225.166.182");


    }


    private 
Connection CONN(String _user,String _pass,String _DB,String _server) {
        
StrictMode.ThreadPolicy policy=new StrictMode.ThreadPolicy.Builder().permitAll().build();
        
StrictMode.setThreadPolicy(policy);
        
Connection conn=null;
        
String ConnURL=null;
        try {
            Class.
forName("net.sourceforge.jtds.jdbc.Driver");
            
ConnURL="jdbc:jtds:sqlserver://"_server +";" "databaseName="+_DB+";user="+_user+";password="+_pass+";";
            
connDriverManager.getConnection(ConnURL);
        } catch (
SQLException se) {
            
Log.e("ERRO"se.getMessage());

        } catch (
ClassNotFoundException e) {
            
Log.e("ERRO",e.getMessage());

        }catch (
Exception e){
            
Log.e("ERRO",e.getMessage());

        }
        return 
conn;
    }


    private   
void  QuerySQL(String  COMANDOSQL){
        
ResultSet res;
        try {
            
Statement statement=connect.createStatement();
            
res=statement.executeQuery(COMANDOSQL);
            List<
Map<String,String>> data=null;
            
data=new ArrayList<Map<StringString>>();
            while (
res.next()){
                
Map<String,Stringdatanum=new HashMap<String,String>();
                
datanum.put("A",res.getString("name"));
                
datanum.put("B",res.getString("fimeli"));
                
data.add(datanum);
            }
            
String from[]={"A","B"};
            
int views[]={R.id.name,R.id.family};
            
AD=new SimpleAdapter(this,data,R.layout.model,from,views);
            
Lista.setAdapter(AD);

        }catch (
Exception e){
            
Log.e("ERRO",e.getMessage());

        }

    }


نمونه کد اندروید استادیو