PDA

View Full Version : اتصال به دیتابیس هاست



Hossein Bazyan
پنج شنبه 06 اسفند 1388, 12:24 عصر
سلام
ConnectionString من به شکل زیر میباشد که در لوکال من به جای ServerName از localhost و به ترتیب از نام دیتابیس و یوزر نیم و پسورد استفاده مکینم
اگر بخوام به دیتابیس سایتم مثلا" ( bazyan.nl ) وصل بشم جه تغییری در ConnectionString باید داده بشه ؟

kebriya
پنج شنبه 06 اسفند 1388, 12:47 عصر
<add key="connectionString" value="packet size=4096;user id=DBOWNER;password=OWNERPASSWORD;data source=72.52.124.115;persist security info=False;initial catalog=DATABAENAME;"/>


که در قسمت data source آی پی سایت رو بذار و بقیه هم مشخصه

Hossein Bazyan
پنج شنبه 06 اسفند 1388, 12:55 عصر
<add key="connectionString" value="packet size=4096;user id=DBOWNER;password=OWNERPASSWORD;data source=72.52.124.115;persist security info=False;initial catalog=DATABAENAME;"/>


که در قسمت data source آی پی سایت رو بذار و بقیه هم مشخصه
سلام
دوست عزیز یا من اشتباه میکنم یا شما خوب سوال رو متوجه نشدید.
من از داخل vb.net یعنی )win application( میخوام به دیتابیس سایت وصل بشم .
ببینید من یه برنامه نوشتم تحت ویندوز که میخوام یکسری اطلاعات رو از یکی از جداولی که روی سایتم قرار دارد را بخوانم.

b.mahsa
پنج شنبه 06 اسفند 1388, 13:07 عصر
دوست عزیز من از این constring استفاده میکنم البته در web application


Dim con As New SqlConnection("Data Source=www.site.ir;Initial Catalog=database;User ID=11111;Password=111")

نمیدونم تو application کار میکنه یا نه .
امید وارم به دردتون بخوره

Hossein Bazyan
پنج شنبه 06 اسفند 1388, 13:13 عصر
دوست عزیز من از این constring استفاده میکنم البته در web application


Dim con As New SqlConnection("Data Source=www.site.ir;Initial Catalog=database;User ID=11111;Password=111")


نمیدونم تو application کار میکنه یا نه .



امید وارم به دردتون بخوره



سلام
منهم دقیقا از همین کد استفاده میکنم اما پیغام خطای زیر رو میده

Unable to connect to any of the specified MySQL hosts.

kebriya
پنج شنبه 06 اسفند 1388, 13:20 عصر
کدی که فرستاده بودم واسه web app بود من متوجه سوالتون نشده بودم

amin_iman82
پنج شنبه 06 اسفند 1388, 13:21 عصر
اول از همه هاست شما Linux هستش یا Windows ?

اگه لینوکس باشه باید از کانکشن سترین MySql استفاده کنید. (که به احتمال زیاد با اون خطائی که شما مواجع شدید هاستی که باهاش کار مکنید ، هسات لینوکسه)
اگه ویندوز باشه همون کانکشن سترین بالا باید جواب بده.


البته من چون ASP.NET کار کردم با MySql آشنایی ندارم ولی فکر کنم برخی هاست های ویندوز هم MySql و Apache رو دارن.
به هرحال چه هاست ویندوز دارین چه لینوکس ، فکر کنم شما میخواید به بانک MySql متصل بشید.

Hossein Bazyan
پنج شنبه 06 اسفند 1388, 13:26 عصر
اول از همه هاست شما Linux هستش یا Windows ?

اگه لینوکس باشه باشد از کانکشن سترین MySql استفاده کنید. (که به احتمال زیاد هاست شما لینوکسه)
اگه ویندوز باشه همون کاننکشن سترین بالا باید جواب بده.
سلام
هاست من لینوکسه و منهم Connection String برای MySql رو نوشتم اما جواب نمیده
اینهم کدی که میخوام جدول رو بخونم



Dim scon As String = "Data Source=www.bazyan.nl;Initial Catalog=DB_Name;User ID=User_ID;Password=Password;"
Try
dgvRestore.DataSource = Nothing
sSql = Nothing
sSql = "Select id, v_naam, a_naam, t_naam FROM paramfile ORDER BY id"
Using cn As MySql.Data.MySqlClient.MySqlConnection = New MySql.Data.MySqlClient.MySqlConnection(scon)
Dim ds As New DataSet
Dim da As MySql.Data.MySqlClient.MySqlDataAdapter = New MySql.Data.MySqlClient.MySqlDataAdapter(sSql, cn)
da.Fill(ds, 0)
dgv.DataSource = ds.Tables(0).DefaultView
cn.Close()
End Using

Catch ex As Exception
basBazyan.Write2ErrorLogFile(ex.Message & ", F: " & Me.Name & ",T: SetValues")
MsgBox("Connecting to database error")
End Try

amin_iman82
پنج شنبه 06 اسفند 1388, 13:34 عصر
ببینید این جواب میده؟




Dim scon As String = "Provider=MySQLProv; Data Source=www.bazyan.nl;Initial Catalog=DB_Name;User ID=User_ID;Password=Password;"

amin_iman82
پنج شنبه 06 اسفند 1388, 13:38 عصر
این یکی چی؟

فقط یوزر و پس رو بهش اضافه کنید.



Dim connectionString AsString = "Driver={MySQL};SERVER=localhost;DATABASE=Northwind MySQL;" '
Dim conn AsNew OdbcConnection(connectionString)
conn.Open()
Dim da AsNew OdbcDataAdapter("SELECT CustomerID, ContactName, ContactTitle FROM Customers", conn)
Dim ds AsNew DataSet("Cust")
da.Fill(ds, "Customers")
dataGrid1.DataSource = ds.DefaultViewManager
conn.Close()

Hossein Bazyan
پنج شنبه 06 اسفند 1388, 13:44 عصر
ببینید این جواب میده؟




Dim scon As String = "Provider=MySQLProv; Data Source=www.bazyan.nl;Initial Catalog=DB_Name;User ID=User_ID;Password=Password;"


سلام
این جواب نمیده
پیغام خطای :


Keyword not supported.
Parameter name: provider

Hossein Bazyan
پنج شنبه 06 اسفند 1388, 13:48 عصر
این یکی چی؟

فقط یوزر و پس رو بهش اضافه کنید.



Dim connectionString AsString = "Driver={MySQL};SERVER=localhost;DATABASE=Northwind MySQL;" '
Dim conn AsNew OdbcConnection(connectionString)
conn.Open()
Dim da AsNew OdbcDataAdapter("SELECT CustomerID, ContactName, ContactTitle FROM Customers", conn)
Dim ds AsNew DataSet("Cust")
da.Fill(ds, "Customers")
dataGrid1.DataSource = ds.DefaultViewManager
conn.Close()


سلام
این یکی هم جواب نمیده پیغام خطای :


ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

amin_iman82
پنج شنبه 06 اسفند 1388, 13:57 عصر
اینجا یه سر بزن ، سایت خوده MySql هستش ، برای هر زبانی یه سمپل گذاشته.

فکر کنم مشکلت حل میشه:
http://www.mysql.com/products/connector/C#‎onnector_ODBC_With_VB (http://www.mysql.com/products/connector/C#%E2%80%8Eonnector_ODBC_With_VB)

فقط مشکلش اینجاست که به برکت تکنولوژی روز کشور (انرژی هسته ی نمیدونم آلبالو و یا هسته ی یه چیزی مثل اون :لبخند:) ، مارو تحریم کردن نمیذاره دانلود کنی ، از یه نرم افزار برای تغییر IP استفاده کن.

amin_iman82
پنج شنبه 06 اسفند 1388, 14:17 عصر
سلام
این یکی هم جواب نمیده پیغام خطای :

ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified



راستی خوده نرم افزار MySql روی سیستم شما نصب هست؟
احتمال داره مشکل از این باشه ها!

الان اگه مثلا با Access 2010 بانک ایجاد کنی ، روی سیستم مقصد office 2010 نصب نباشه برنامه خطا میده.

Hossein Bazyan
پنج شنبه 06 اسفند 1388, 14:19 عصر
راستی خوده نرم افزار MySql روی سیستم شما نصب هست؟
احتمال داره مشکل از این باشه ها!

الان اگه مثلا با Access 2010 بانک ایجاد کنی ، روی سیستم مقصد office 2010 نصب نباشه برنامه خطا میده.
سلام
دوست عزیز من میگم در ل.کال مشکل ندارم فقط از لوکال به دیتابیس سایت نمیتونم وصل بشم

amin_iman82
پنج شنبه 06 اسفند 1388, 15:28 عصر
در اینصورت پس مشکل همون Connection String که باید درست بشه.

Hossein Bazyan
پنج شنبه 06 اسفند 1388, 15:32 عصر
سلام
فکر کنم از ConnectionString نباشه
لینک زیر رو نگاه کنید باید درایور ODBC نصب باشه که من نتونستم نصبش کنم و پیغام کیده که با Sql درگیری داره
من احتمال میدم که :
جایی که من کار میکنم کلیه پورتها رو بستند و سیستم هم SQL Server میباشد و بهمین دلیل اجازه وصل شدن به Mysql از طریق پورتها رو نمیده.
عصر که منزل رفتم اونجا امتحان میکنم.

amin_iman82
پنج شنبه 06 اسفند 1388, 15:37 عصر
چی بگم؟ :متفکر: من تا حالا اصلا با MySql سروکار نداشتم.
البته منم زمانی که گفتم شاید خوده MySql نصب نیست به خاط وجو نداشتن درایور روی سیستمتون ، این حرف رو زدم.

یعنی درایور ODBC که برای MySql هستش با خودش نصب نمیشه؟
شاید MySql که نصب کردی کامل نیست ، ورژنش پایینه یا ... شایدم نصب شده ولی نه برای دات نت فقط برای PHP و... هستش.

حالا بازم میگردم اگه موردی پیدا شد خبر میدم. شما هم اگه چیزی پیدا کردی بگو منم متوجه بشم مشکل چطوری حل میشه.

ممنون.

mina.net
پنج شنبه 06 اسفند 1388, 20:02 عصر
سلام
من هم دارم یک برنامه می نویسم برای همین کار

با تحقیقی که تا حالا کردم به می تونم اینطوری راهنمایی کنم. البته اینها که می گم شاید درست نباشه.
1- خوب اولا دیتابیس روی هاست از چه نوعی هست. اگه از نوع mysql هست باید dll مربوطه رو از سایت mysql دانلود و به رفرنست اضافه کنی.
2- اگه به صورت لوکال می تونی به دیتابیس mysql وصل بشی ولی از روی هاست نمی تونی احتمالا بخاطر اعمال محدودیتی هست که ارائه کننده هاست اعمال می کنه. (جالب اینه که من بایکی از این ارائه کننده های هاست که تماس گرفتم اصلا نمی فهمیدن من چی می گم تا بتونن به مشکل رسیدگی کنن.)

من روی سایتهای رایگان آزمایش کردم ولی اونا دارای محدودیت هستند.

اینم کدی هست که من باهاش با دیتابیس mysql کار کردم.



Imports MySql.Data.MySqlClient
Imports System
Imports System.Text
Imports Microsoft.VisualBasic


Public Class Form1
Dim myConnString As String = "host=pc6;UserName=root;Password=;Database=mydb"
Dim myConnection As MySqlConnection = New MySqlConnection(myConnString)

Dim dt As DataTable
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
myConnection.Open()
Button1_Click(sender, e)
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
DataGridView1.DataBindings.Clear()
Dim mySelectQuery As String = "SELECT * FROM users"
''Dim myCommand As MySqlCommand = New MySqlCommand(mySelectQuery, myConnection)
''Dim obj As Object = myCommand.ExecuteScalar
''Dim str As String = CType(obj, String)
''MsgBox(str)
Dim da As MySqlDataAdapter = New MySqlDataAdapter(mySelectQuery, myConnection)
Dim ds As DataSet = New DataSet
da.Fill(ds, "mytb")
da.TableMappings.Add("Table", "Mytb")
'dt.Rows.Clear()
dt = ds.Tables("Mytb")
DataGridView1.DataSource = dt
' dt.TableName = "Mytb"
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim password, username As String
password = TextBox2.Text
username = TextBox1.Text
Dim fnam As Encoding = UTF8Encoding.UTF8
' name=(name, fname)
Dim passwordUTF8 As String = System.Text.Encoding.UTF8.GetString(System.Text.En coding.Convert(System.Text.Encoding.UTF8, System.Text.Encoding.UTF8, System.Text.Encoding.UTF8.GetBytes(password)))
Dim usernameUTF8 As String = System.Text.Encoding.UTF8.GetString(System.Text.En coding.Convert(System.Text.Encoding.UTF8, System.Text.Encoding.UTF8, System.Text.Encoding.UTF8.GetBytes(username)))

'Dim utfS As Encoding = System.Text.Encoding.Unicode
'Dim utfD As Encoding = System.Text.Encoding.UTF8
'Dim usernameUTF8 As String = utfD.GetString(utfD.Convert(utfS, utfD, utfS.GetBytes(username)))

'Dim cmd1 As MySqlCommand = New MySqlCommand("set users utf-8", myConnection)
'cmd1.ExecuteNonQuery()

Dim cmd As MySqlCommand = New MySqlCommand("insert into users (password,username)values('" & passwordUTF8 & "','" & usernameUTF8 & "')", myConnection)
cmd.ExecuteNonQuery()
MsgBox("ثبت شد")
Button1_Click(sender, e)
End Sub

End Class

'Dim myConnString As String = "Persist Security Info=False;Username=IRANTAJE_USER;PASSWORD=IRANTAJ E_PASS;database=IRANTAJE_DB;server=IRAN-TAJERAN;Connect Timeout=30"
' Dim myConnString As String = "Host=;UserName=IRANTAJE_USER;Password=IRANTAJE_PAS S;Database=IRANTAJE_db"
' Dim myConnString As String = "Host=hostnamee;UserName=UserName;Password=pass;Dat abase=DataBaseName"
' Dim myConnString As String = "host=pc6;UserName=root;Password=;Database=barbod"
''''''' Dim myConnString As String = "server=sql113.gigfa.com;UserName=gigfa_5024665;Pas sword=13588531;Database=gigfa_5024665_db"
' Dim myConnString As String = "server=localhost; user id=root; password=; database=db"

' Dim myConnString As String = "port=3306;host=sql113.gigfa.com;UserName=gigfa_502 4665;Password=13588531;Database=gigfa_5024665_db"

' Dim myConnection As MySqlConnection = New MySqlConnection(myConnString)
' myConnection.Open()


'Dim MYREADER As MySqlDataReader
'MYREADER = myCommand.ExecuteReader()

'MessageBox.Show(MYREADER.GetInt32(0) + ", " + MYREADER.GetString(1))

'myConnection.Close()


ببخشید که کدها درهم برهم هست.

یک نکته: من بعد از 20 روز سر رو کله زدن با Mysql به این نتیجه رسیدم که برای دیتابیس هاستم از sqlserver استفاده کنم و نه mysql . موقعی از winapp به mysql اطلاعاتی رو ادد می کردم با کارکتر های فارسی مشکل داشت. در ضمن sql قوی تر از mysql هست.

می تونی این لینک رو هم بخونی مباحث خوبی مطرح شده.
http://barnamenevis.org/forum/showthread.php?t=198755

در ضمن من پستهای قبلی این تاپیک رو کامل نخوندم اگه مطالبی تکراری گفتم ببخشید.

احتمالا هفته بعد باید مشکلم با اتصال راه درو دیتابیس حل بشه. حتما خبر خواهم داد. خوشحال می شم در صورتی هم که شما موفق شدید ما رو بی نصیب نزارید.

Hossein Bazyan
پنج شنبه 06 اسفند 1388, 20:32 عصر
سلام
من هم دارم یک برنامه می نویسم برای همین کار
1- خوب اولا دیتابیس روی هاست از چه نوعی هست. اگه از نوع mysql هست باید dll مربوطه رو از سایت mysql دانلود و به رفرنست اضافه کنی.
2- اگه به صورت لوکال می تونی به دیتابیس mysql وصل بشی ولی از روی هاست نمی تونی احتمالا بخاطر اعمال محدودیتی هست که ارائه کننده هاست اعمال می کنه. (جالب اینه که من بایکی از این ارائه کننده های هاست که تماس گرفتم اصلا نمی فهمیدن من چی می گم تا بتونن به مشکل رسیدگی کنن.)

من روی سایتهای رایگان آزمایش کردم ولی اونا دارای محدودیت هستند.

اینم کدی هست که من باهاش با دیتابیس mysql کار کردم.
ببخشید که کدها درهم برهم هست.

یک نکته: من بعد از 20 روز سر رو کله زدن با Mysql به این نتیجه رسیدم که برای دیتابیس هاستم از sqlserver استفاده کنم و نه mysql . موقعی از winapp به mysql اطلاعاتی رو ادد می کردم با کارکتر های فارسی مشکل داشت. در ضمن sql قوی تر از mysql هست.

می تونی این لینک رو هم بخونی مباحث خوبی مطرح شده.
http://barnamenevis.org/forum/showthread.php?t=198755

در ضمن من پستهای قبلی این تاپیک رو کامل نخوندم اگه مطالبی تکراری گفتم ببخشید.

احتمالا هفته بعد باید مشکلم با اتصال راه درو دیتابیس حل بشه. حتما خبر خواهم داد. خوشحال می شم در صورتی هم که شما موفق شدید ما رو بی نصیب نزارید.

سلام
این کد هم جواب نمیده و پیغام زیر را میده :


Unable to connect to any of the specified MySQL hosts.

من فکر میکنم که


اگه به صورت لوکال می تونی به دیتابیس mysql وصل بشی ولی از روی هاست نمی تونی احتمالا بخاطر اعمال محدودیتی هست که ارائه کننده هاست اعمال می کنه

این مطلب درست تره . من راههای خیلی زیادی رو امتحان کردم اما نشد .ببینم میتوانم از کنترل پانل هاستم چیزی پیدا کنم یا نه


یک نکته: من بعد از 20 روز سر رو کله زدن با Mysql به این نتیجه رسیدم که برای دیتابیس هاستم از sqlserver استفاده کنم و نه mysql . موقعی از winapp به mysql اطلاعاتی رو ادد می کردم با کارکتر های فارسی مشکل داشت. در ضمن sql قوی تر از mysql هست.

متاسفانه هاست من SQL رو ساپورت نمیکنه و در ضمن کل برنامه هم با MySql نوشته شده و امکان تبدیلش هم نیست .
در ضمن من در کار با MySql در لوکال هیچ مشکلی ندارم و حداقل 10 پروژه بزرگ رو باهاش نوشتم اما در مورد اتصال راه دور تجربه ی ندارم.

mina.net
جمعه 07 اسفند 1388, 12:16 عصر
متاسفانه هاست من SQL رو ساپورت نمیکنه و در ضمن کل برنامه هم با MySql نوشته شده و امکان تبدیلش هم نیست .
در ضمن من در کار با MySql در لوکال هیچ مشکلی ندارم و حداقل 10 پروژه بزرگ رو باهاش نوشتم اما در مورد اتصال راه دور تجربه ی ندارم.


سلام
موقعی که کارکترهای فارسی رو تو mysql ادد می کنی مشکلی نداره؟
اگه مشکلی از بابت کارکتر های فارسی نداری بگو چطور این مشکل رو حل کردی تا ما هم استفاده کنیم. البته منظورم از vb به mysql هست.
منتظر جواب هستم.

Hossein Bazyan
جمعه 07 اسفند 1388, 12:32 عصر
سلام
موقعی که کارکترهای فارسی رو تو mysql ادد می کنی مشکلی نداره؟
اگه مشکلی از بابت کارکتر های فارسی نداری بگو چطور این مشکل رو حل کردی تا ما هم استفاده کنیم. البته منظورم از vb به mysql هست.
منتظر جواب هستم.

سلام
دوست عزیز من کاراکترهای فارسی رو در بانک ذخیره نمیکنم . اطلاعاتی که من وارد بانک میکنم معمولا یا هلندی یا انگلیسی میباشند در ضمن زبان هلندی هم چند کاراکتر خاص دارد مثلا é یا ë که من مشکلی در ثبت اطلاعات در بانک نمیبینم . البته من هنگام انتخاب Collatie برای فیلد آنرا از نوع utf8 انتخاب میکنم که برای فارسی هم utf8_persian رو داریم ( اگر اشتباه نکنم )

mina.net
جمعه 07 اسفند 1388, 19:36 عصر
می دونم که باید utf8 رو انتخاب کرد البته تو خود mysql جواب می ده ولی از vb به mysql من نتیجه نگرفتم.

من تو mysql امکانی ندیدم که بشه هر ستون رو به صورت مجزا مثلا utf8 یا هر چیز دیگری قرار داد. آیا منظورت اینه که تو خود vb این کار رو می کنی؟ اگه اینطور هست بفرمایید چطور؟

Hossein Bazyan
جمعه 07 اسفند 1388, 19:51 عصر
می دونم که باید utf8 رو انتخاب کرد البته تو خود mysql جواب می ده ولی از vb به mysql من نتیجه نگرفتم.

من تو mysql امکانی ندیدم که بشه هر ستون رو به صورت مجزا مثلا utf8 یا هر چیز دیگری قرار داد. آیا منظورت اینه که تو خود vb این کار رو می کنی؟ اگه اینطور هست بفرمایید چطور؟
سلام
من جداول را با استفاده از phpmyadmin میسازم و برای هر فیلد هم میتوانم Collatie جدا انتخاب کنم

mina.net
شنبه 08 اسفند 1388, 12:45 عصر
سلام
برای اتصال راه دور sqlserver هم خطا می ده.
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)

برای اتصال با mysql هم این خطا
Unable to connect to any of the specified MySQL hosts

چطور می شه فهمید کانکشن با کدوم اطلاعات مشکل داره. فرضا من می خوام بدونم اصلا سرور رو پیدا می که یا نه؟ و بعد برم سر وقت یوزر و پسورد.

mina.net
یک شنبه 09 اسفند 1388, 09:09 صبح
سلام
مشکلم با دیتابیس sqlserve حل شد.
چیز خاصی نبود فقط با ارائه دهند هاست کمی مشورت کردم. نمونه کانکشن دادن حل شد.


"Server=از ارائه دهنده هات بخواهید;Database=mydatabase;Uid=myuser;Pass word=mypass"


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

mina.net
یک شنبه 09 اسفند 1388, 09:18 صبح
mysql هم حل شد.


"host=از ارائه دهنده هاست بخواهید;UserName=myuser;Password=mypass;Dat abase=mydatabasename"


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

naser13
سه شنبه 29 آذر 1390, 09:35 صبح
سلام !

من یه چیزی پیدا کردم ولی بازم همین ایرور رو میده باید توی Remote Database Access Hosts
از سی پنل علامه % رو اضافه کنید ولی بازم کار نداد

ali190
سه شنبه 29 آذر 1390, 20:57 عصر
سلام
آیا میشه دیتابیس رو در FTP قرار داد و بهش وصل شد
ممنون
یاعلی