saeed_g21

اتصال به sqlserver در اندروید

19 ارسال در این موضوع قرار دارد

سلام و عرض ادب

من به مشکل بزرگی برخوردم  و خیلی روش زمان گذاشتم ولی به نتیجه ای متسفانه نرسیدم

چطوری میتونم در اندروید تبلت یا گوشی به پایگاه داده sql server وصل بشم ؟

نمونه های زیادی در سایت های خارجی هست ولی با هیچ یک جوابی نگرفتم

برای متصل شدن به sql server از کد زیر استفاده می کنم 

[shcode=java]

shcode=java]package com.example.saeed;

align=left]import java.sql.DriverManager;

import android.os.Bundle;

import android.app.Activity;

import android.view.Menu;

import android.widget.TextView;

import java.sql.Connection;

[align=left]import java.sql.DriverManager;

import java.sql.SQLException;

public class MainActivity extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

Connection connection = null;

 try {

String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";

Class.forName(driverName);

// Create a connection to the database

String serverName = "192.168.1.250";

String serverPort = "1433";

String database = serverName + ":" + serverPort;

// String database = serverName ;

String url = "jdbc:sqlserver://" + database;

String username = "sa";

String password = "147855";

connection = DriverManager.getConnection(url ,username,password);

System.out.println("Successfully Connected to the database!");

} catch (ClassNotFoundException e) {

System.out.println("Could not find the database driver " + e.getMessage());

} catch (SQLException e) {

System.out.println("Could not connect to the database " + e.getMessage());

}

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.main, menu);

return true;

}

}

[/shcode]

که خطای زیر را می دهد البته همه کدهای که تست کردم آخرش همین پیغام میدن 

  Could not connect to the database The TCP/IP connection to the host 192.168.1.250, port 1433 has failed. Error: "socket failed: EACCES (Permission denied). Verify the connection properties. Make sure that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port. Make sure that TCP connections to the port are not blocked by a firewall.".

اینم بگم با NetBeans IDE 7.3.1 تست می زنم ارتباط برقرار میشه راستش من خودم احتمال میدم که سیستم (IP) رو پیدا نمی کنه که همین پیغام رو میده باید Permission خاصی بدم یا ؟

 برنامه ای که میسازم با Eclipse هستش و apk رو هم رو ماشین مجازی تست می زنم هم رو تبلت واقعی که خروجی شون همان خطای بالایی هستش

کل زحمت چند ماهم به این بنده لطفا راهنماییم کنید حتی با هزینه هم باشه مشکلی نیست فقط ارتباط برقرار بشه

خواهشا کمکم کنید ممنونم

منتظر جوابتان هستم

باتشکر

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

به کمک خدای بزرگ مشکل برطرف شد!

قربانت خداااااااااااااااااااااااااااااااااااااااااااااااااااا

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

به کمک خدای بزرگ مشکل برطرف شد!

قربانت خداااااااااااااااااااااااااااااااااااااااااااااااااااا

میشه بگین چجوری من هم چند مدتی این مشکل و دارم چه جوری حلش کنم


من مشکلم اینکه نمی تونم وصل شم و این error

the driver could not establish a secure connection to sql server by using secure sockets layers ssl encryption error  ulable to make socket non blocking

 می ده

لطفا کمکم کنید چند وقتی الافم کرده

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

از کدوم درایور استفاده میکنی ؟

به کدوم ورژن SQLServer میخوای وصل بشی ؟

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

ورژن 2008 sqlserver

    com.microsoft.sqlserver.jdbc.SQLServer  =  Driver

استفاده می کنم

لطفا لطفا لطفا کمکم کنید

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

کد من

public void ConSql()

    {

       

       

               

         try

         {

       

               int port=1433;

               Socket s;

             

              

                Toast.makeText(this , "  ConSql 1  "    , Toast.LENGTH_LONG).show();

             

              

               

                String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver" ;

                     

             

                Class.forName(driver).newInstance();

               

                Toast.makeText(this , "  ConSql 2  "    , Toast.LENGTH_LONG).show();

               

               

               

                Connection conn =DriverManager.getConnection("jdbc:sqlserver://192.168.0.161 :1433   ; databaseName=myDBName ;user=UserDB ;password=PassDB ; ");

               

                 

               

                Toast.makeText(this , "  ConSql 3  "    , Toast.LENGTH_LONG).show();

               

                System.out.println("connected");

                Statement statement=conn.createStatement();

                ResultSet resultSet=statement.executeQuery("select * from  userinfo ");

               

                Toast.makeText(this , " resultSet =  "    , Toast.LENGTH_LONG).show();

               

               

                while(resultSet.next())

                {

                    System.out.println(" "+resultSet.getString(1)+" "+resultSet.getString(2));

                   

                    Toast.makeText(this , resultSet.getString(1)+"   ,    "+resultSet.getString(2)    , Toast.LENGTH_LONG).show();

                   

                }

            } catch (Exception e) {

               

                Toast.makeText(this , " Erore ==  "+ e.getMessage().toString()    , Toast.LENGTH_LONG).show();

               

                TextView1.setText( e.getMessage().toString());

               

                e.printStackTrace();

               

               

            }

       

       

    }

ولی error یی که با نوشتم برام میده نمدونم مشکل کجاست لطفا کمکم کنید

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

دوستان لطفا کمکم کنید

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

تو قسمت بالا کد برنامه ام رو نوشتم لطفا کمکم کنید آیا برنامه ام مشکلی داره چرا error 

the driver could not establish a secure connection to sql server by using secure sockets layers ssl encryption error  ulable to make socket non blocking

برام میده

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

من نمیدونم چرا هر کس تو این انجمن مشکلی داره می پرسه بعد جوابشو که گرفت خدا رو هم شکر میکنه ولی به بقیه جواب نمیده

آخه این فناوری مال ما نیست که اینقدر ندید بدیدی از خودتون در میارید

زکات علم آموختن آن است نه دزدیدن آن

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

خوش به حالتون که تونستین حلش کنید

منم دقیقا کد شمارو می نویسم ولی همون خطا رو میده، البته بعدا من به manifest یه خط کد permission به دسترسی INTERNET اضافه کردم

الانم یه خطاهای دیگه ای میده

مثلا مشکل در ENcryption و ارتباط SSL!

جالب اینجاست که با eclipse از یه کامپیوتر remote میشه براحتی به sql server express 2008 رو یه کامپیوتر دیگه وصل شد. با ابزار Database Explorer خود eclipse

ولی وقتی کد می نویسم و داخل تبلت اندرویدی نصب مب کنم این درد سر ها بوجد میاد.

مشکل ارتباطات sql server , tcp/ip نداره

مشکل firewall نداره

driver ها همه نصب هستن

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

ممنون میشم.

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

من نمیدونم چرا هر کس تو این انجمن مشکلی داره می پرسه بعد جوابشو که گرفت خدا رو هم شکر میکنه ولی به بقیه جواب نمیده

آخه این فناوری مال ما نیست که اینقدر ندید بدیدی از خودتون در میارید

زکات علم آموختن آن است نه دزدیدن آن

آقای محترم

اولا دست کسی رو که میخوای ازش لقمه بگیری رو نباید گاز بگیری ثانیا دزد خودتی آدم نفهم

آدم بیشور تورو چه به فناوری برو به گاو و گوسفندات برس

ثالثا اگه ادعات میشه اهل فناوری هستی خودت بشین بنویس

رابعا یک نمونه کامل و سالم آماده کرده بودم میخواستم بذارم همه استفاده کنند ولی آدمای بیشوری مثل تو واسه بقیه هم باعث میشن

واقعا متاسفم به این کوتاه بینیت

از ادمین محترم و سایر دوستان عزیزتر از جانم بخاطر حرفام واقعا معذرت می خوام


خوش به حالتون که تونستین حلش کنید

منم دقیقا کد شمارو می نویسم ولی همون خطا رو میده، البته بعدا من به manifest یه خط کد permission به دسترسی INTERNET اضافه کردم

الانم یه خطاهای دیگه ای میده

مثلا مشکل در ENcryption و ارتباط SSL!

جالب اینجاست که با eclipse از یه کامپیوتر remote میشه براحتی به sql server express 2008 رو یه کامپیوتر دیگه وصل شد. با ابزار Database Explorer خود eclipse

ولی وقتی کد می نویسم و داخل تبلت اندرویدی نصب مب کنم این درد سر ها بوجد میاد.

مشکل ارتباطات sql server , tcp/ip نداره

مشکل firewall نداره

driver ها همه نصب هستن

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

ممنون میشم.

حق دسترسی اینترنت زمانی کاربرد دارد که ارتباط شما تویط اینترنت باشد

که در اینصورت باید IP مودم ADSL رو وارد کنی منظورم 192.168.1.1 یا 192.168.2.1 نیست اینها IP لوکالی هستن بطور ساده IP اینترنت خودت که این شرایط خاصی لازم دارد باید از قبل تنظیمات خاصی رو مودمت اعمال بشه که از این میگذریم روش دیگه هم اینه که از طریق WIFI براحتی بدون هیچ تنظیمات خاصی با SQLServer وصل بشی که دراین حالت حق دسترسی های مخصوص WIFI رو باید به Mainfest بدی و حتما باید IP سیستمی که SQLServer نصب هستش رو با پورد بدی مثلا 192.168.1.2:1433

گرفتی موضوع رو ؟

تست بزن ببین حل میشه


تو قسمت بالا کد برنامه ام رو نوشتم لطفا کمکم کنید آیا برنامه ام مشکلی داره چرا error 

the driver could not establish a secure connection to sql server by using secure sockets layers ssl encryption error  ulable to make socket non blocking

برام میده

Driver خودت رو عوض کن

ببخش بخاطر بعضی آدمهای سودجو  نمیتونم کامل راهنمایت کنم

ببین پیدا میکنی نشد پیام خصوصی بیا

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

از اینکه وقت میذارید و جواب میدید واقعا ممنونم. هر چیز تازه ای یاد گرفتم حتما به اشتراک میذارم، گرچه شماها انقد جلوترید که شاید داشته های ما به درد نخوره.

واما اون دو تا موضوع که شما فرموده بودید:

در مورد اینترنت فعلا تست نکردم، چون دارم تو یه شبکه محلی آزمایش می کنم

IP لپتاپ که sql server روش نصبه 10.114.8.172

و تبلت هم براحتی 10.114.8.171 میگیره

همونطور که گفتم تمام اتصالات و مشکلات پورت و فایروال و تنظیمات شبکه برای sql srver  درسته

ولی باز تبلت کانکت نمیشه!

اعصاب برام نذاشته

اگه درست نیست پس چرا خوده محیط eclipse  با همون درایورهای jdbc و اصلا همون connection string از یه کامپیوتر دیگه به این sql server  وصل میشه و دیتا رو نشون میده؟!

دیوونم کرده.

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

از اینکه وقت میذارید و جواب میدید واقعا ممنونم. هر چیز تازه ای یاد گرفتم حتما به اشتراک میذارم، گرچه شماها انقد جلوترید که شاید داشته های ما به درد نخوره.

واما اون دو تا موضوع که شما فرموده بودید:

در مورد اینترنت فعلا تست نکردم، چون دارم تو یه شبکه محلی آزمایش می کنم

IP لپتاپ که sql server روش نصبه 10.114.8.172

و تبلت هم براحتی 10.114.8.171 میگیره

همونطور که گفتم تمام اتصالات و مشکلات پورت و فایروال و تنظیمات شبکه برای sql srver  درسته

ولی باز تبلت کانکت نمیشه!

اعصاب برام نذاشته

اگه درست نیست پس چرا خوده محیط eclipse  با همون درایورهای jdbc و اصلا همون connection string از یه کامپیوتر دیگه به این sql server  وصل میشه و دیتا رو نشون میده؟!

دیوونم کرده.

خطایی که در تبلت میده در Toast ی , TestView ی چیزی بگیر ببین چی میشه بهم بگو


راستی درایور خود رو عوض کن

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام

باشه میفرستم براتون.

راستی برا اتصال به sql server غیر از jdbc درایور دیگه ای هست که مستقیم وصل بشه بش؟!

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

فکر نکنم وجود داشته باشه

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

با سلام

من آموزش های زیادی رو مطالعه کردم

یه چیزایی در مورد اتصال به sqllite و mysql بود، ولی من نیاز مبرم به اتصال به sql server دارم. از مجموعه مطالب ارسالی شما و اون چیزی که توی اینترنت بود این رو نوشتم:

public void onClick(View v)

            {

                //display.setText("Your total is " + btn1.getText());

            try

            { // Step 1: Load the JDBC driver. 

            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 

           

            // Step 2: Establish the connection to the database. 

            String url = "jdbc:sqlserver://192.168.2.35:1433;databaseName=DBTest";

            Connection conn = DriverManager.getConnection(url,"sa","123");

            display.setText("Successful");

           

            } 

            catch (Exception e) 

            {

            display.setText(e.getMessage()); 

           

            }

            }

تمام اجازه ها، دسترسی پورت، فایروال، تنظیمات Sql server و... انجام شده.

از داخل خود eclipse میشه براحتی با همین jdbc به 192.168.2.35 که یک لپ تاپ روی شبکه هست و sql 2008 روی اون هست، وصل شد!

اما بعد از کامپایل و اجرا روی تبلت این خطا رو میده:

The driver could not establish a secure connection to sql server by using secure socket layer (SSL) encryption. Error: "socket closed".

client connectio id:....

بد جوری گرفتارم. اگه یه سرنخی راه حلی بگید ممنون میشم...

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

با اینکه کسی اینجا جواب نمیده ولی ما میگیم شاید به درد کسی بخوره

من مشکل اتصال remote به sql server express 2008 رو حل کردم

اشکال کار اینجاست که JDBC4 انگار ذاتا قادر به برقراری ارتباط بصورت SSL نیست و باید از JDTS استفاده کنید.

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

راستش یه سوال برام پیش امد چرا باید به طور مستقیم به sql server وصل میشی؟ اگه لازم چرا یک سرویس rest  براش نمینویسی؟ اینجوری امکان سوء استفاده و اشتباهات غیر عمدی پیش نمی اید؟برام جالبه که منظور طراح از این طرحش چیه؟ همین

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

آره دیگه

حق با شماست. من تازه کارم تو اندروید

تازه یاد گرفتم اینجوری مستقیم وصل بشم

اگه وب یرویس بنویسم اونوقت باید سمت سرور IIS داشته باشم دیگه؟

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری