سلام
ConnectionString من به شکل زیر میباشد که در لوکال من به جای ServerName از localhost و به ترتیب از نام دیتابیس و یوزر نیم و پسورد استفاده مکینم
اگر بخوام به دیتابیس سایتم مثلا" ( bazyan.nl ) وصل بشم جه تغییری در ConnectionString باید داده بشه ؟
سلام
ConnectionString من به شکل زیر میباشد که در لوکال من به جای ServerName از localhost و به ترتیب از نام دیتابیس و یوزر نیم و پسورد استفاده مکینم
اگر بخوام به دیتابیس سایتم مثلا" ( bazyan.nl ) وصل بشم جه تغییری در ConnectionString باید داده بشه ؟
<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 آی پی سایت رو بذار و بقیه هم مشخصه
دوست عزیز من از این constring استفاده میکنم البته در web application
Dim con As New SqlConnection("Data Source=www.site.ir;Initial Catalog=database;User ID=11111;Password=111")
نمیدونم تو application کار میکنه یا نه .
امید وارم به دردتون بخوره
کدی که فرستاده بودم واسه web app بود من متوجه سوالتون نشده بودم
اول از همه هاست شما Linux هستش یا Windows ?
اگه لینوکس باشه باید از کانکشن سترین MySql استفاده کنید. (که به احتمال زیاد با اون خطائی که شما مواجع شدید هاستی که باهاش کار مکنید ، هسات لینوکسه)
اگه ویندوز باشه همون کانکشن سترین بالا باید جواب بده.
البته من چون ASP.NET کار کردم با MySql آشنایی ندارم ولی فکر کنم برخی هاست های ویندوز هم MySql و Apache رو دارن.
به هرحال چه هاست ویندوز دارین چه لینوکس ، فکر کنم شما میخواید به بانک 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
ببینید این جواب میده؟
Dim scon As String = "Provider=MySQLProv; Data Source=www.bazyan.nl;Initial Catalog=DB_Name;User ID=User_ID;Password=Password;"
این یکی چی؟
فقط یوزر و پس رو بهش اضافه کنید.
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()
اینجا یه سر بزن ، سایت خوده MySql هستش ، برای هر زبانی یه سمپل گذاشته.
فکر کنم مشکلت حل میشه:
http://www.mysql.com/products/connector/C#onnector_ODBC_With_VB
فقط مشکلش اینجاست که به برکت تکنولوژی روز کشور (انرژی هسته ی نمیدونم آلبالو و یا هسته ی یه چیزی مثل اون ) ، مارو تحریم کردن نمیذاره دانلود کنی ، از یه نرم افزار برای تغییر IP استفاده کن.
در اینصورت پس مشکل همون Connection String که باید درست بشه.
سلام
فکر کنم از ConnectionString نباشه
لینک زیر رو نگاه کنید باید درایور ODBC نصب باشه که من نتونستم نصبش کنم و پیغام کیده که با Sql درگیری داره
من احتمال میدم که :
جایی که من کار میکنم کلیه پورتها رو بستند و سیستم هم SQL Server میباشد و بهمین دلیل اجازه وصل شدن به Mysql از طریق پورتها رو نمیده.
عصر که منزل رفتم اونجا امتحان میکنم.
چی بگم؟ من تا حالا اصلا با MySql سروکار نداشتم.
البته منم زمانی که گفتم شاید خوده MySql نصب نیست به خاط وجو نداشتن درایور روی سیستمتون ، این حرف رو زدم.
یعنی درایور ODBC که برای MySql هستش با خودش نصب نمیشه؟
شاید MySql که نصب کردی کامل نیست ، ورژنش پایینه یا ... شایدم نصب شده ولی نه برای دات نت فقط برای PHP و... هستش.
حالا بازم میگردم اگه موردی پیدا شد خبر میدم. شما هم اگه چیزی پیدا کردی بگو منم متوجه بشم مشکل چطوری حل میشه.
ممنون.
سلام
من هم دارم یک برنامه می نویسم برای همین کار
با تحقیقی که تا حالا کردم به می تونم اینطوری راهنمایی کنم. البته اینها که می گم شاید درست نباشه.
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=myd b"
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_PA SS;Database=IRANTAJE_db"
' Dim myConnString As String = "Host=hostnamee;UserName=UserName;Password=pass;Da tabase=DataBaseName"
' Dim myConnString As String = "host=pc6;UserName=root;Password=;Database=bar bod"
''''''' Dim myConnString As String = "server=sql113.gigfa.com;UserName=gigfa_5024665;Pa ssword=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_50 24665;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 هست.
می تونی این لینک رو هم بخونی مباحث خوبی مطرح شده.
https://barnamenevis.org/showthread.php?t=198755
در ضمن من پستهای قبلی این تاپیک رو کامل نخوندم اگه مطالبی تکراری گفتم ببخشید.
احتمالا هفته بعد باید مشکلم با اتصال راه درو دیتابیس حل بشه. حتما خبر خواهم داد. خوشحال می شم در صورتی هم که شما موفق شدید ما رو بی نصیب نزارید.
سلام
این کد هم جواب نمیده و پیغام زیر را میده :
من فکر میکنم کهUnable to connect to any of the specified MySQL hosts.
این مطلب درست تره . من راههای خیلی زیادی رو امتحان کردم اما نشد .ببینم میتوانم از کنترل پانل هاستم چیزی پیدا کنم یا نهاگه به صورت لوکال می تونی به دیتابیس mysql وصل بشی ولی از روی هاست نمی تونی احتمالا بخاطر اعمال محدودیتی هست که ارائه کننده هاست اعمال می کنه
متاسفانه هاست من SQL رو ساپورت نمیکنه و در ضمن کل برنامه هم با MySql نوشته شده و امکان تبدیلش هم نیست .یک نکته: من بعد از 20 روز سر رو کله زدن با Mysql به این نتیجه رسیدم که برای دیتابیس هاستم از sqlserver استفاده کنم و نه mysql . موقعی از winapp به mysql اطلاعاتی رو ادد می کردم با کارکتر های فارسی مشکل داشت. در ضمن sql قوی تر از mysql هست.
در ضمن من در کار با MySql در لوکال هیچ مشکلی ندارم و حداقل 10 پروژه بزرگ رو باهاش نوشتم اما در مورد اتصال راه دور تجربه ی ندارم.
سلاممتاسفانه هاست من SQL رو ساپورت نمیکنه و در ضمن کل برنامه هم با MySql نوشته شده و امکان تبدیلش هم نیست .
در ضمن من در کار با MySql در لوکال هیچ مشکلی ندارم و حداقل 10 پروژه بزرگ رو باهاش نوشتم اما در مورد اتصال راه دور تجربه ی ندارم.
موقعی که کارکترهای فارسی رو تو mysql ادد می کنی مشکلی نداره؟
اگه مشکلی از بابت کارکتر های فارسی نداری بگو چطور این مشکل رو حل کردی تا ما هم استفاده کنیم. البته منظورم از vb به mysql هست.
منتظر جواب هستم.
سلام
دوست عزیز من کاراکترهای فارسی رو در بانک ذخیره نمیکنم . اطلاعاتی که من وارد بانک میکنم معمولا یا هلندی یا انگلیسی میباشند در ضمن زبان هلندی هم چند کاراکتر خاص دارد مثلا é یا ë که من مشکلی در ثبت اطلاعات در بانک نمیبینم . البته من هنگام انتخاب Collatie برای فیلد آنرا از نوع utf8 انتخاب میکنم که برای فارسی هم utf8_persian رو داریم ( اگر اشتباه نکنم )
می دونم که باید utf8 رو انتخاب کرد البته تو خود mysql جواب می ده ولی از vb به mysql من نتیجه نگرفتم.
من تو mysql امکانی ندیدم که بشه هر ستون رو به صورت مجزا مثلا utf8 یا هر چیز دیگری قرار داد. آیا منظورت اینه که تو خود vb این کار رو می کنی؟ اگه اینطور هست بفرمایید چطور؟
سلام
برای اتصال راه دور 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
چطور می شه فهمید کانکشن با کدوم اطلاعات مشکل داره. فرضا من می خوام بدونم اصلا سرور رو پیدا می که یا نه؟ و بعد برم سر وقت یوزر و پسورد.
سلام
مشکلم با دیتابیس sqlserve حل شد.
چیز خاصی نبود فقط با ارائه دهند هاست کمی مشورت کردم. نمونه کانکشن دادن حل شد.
"Server=از ارائه دهنده هات بخواهید;Database=mydatabase;Uid=myuser;Pass word=mypass"
برای mysql فکر می کنم به زودی یتونم حل کنم. هر وقت حل شد خدمت می رسم.
mysql هم حل شد.
"host=از ارائه دهنده هاست بخواهید;UserName=myuser;Password=mypass;Dat abase=mydatabasename"
بهترین راه مشورت با ارائه دهنده هاست هست.
امیدوارم مفیده بوده باشد.
سلام !
من یه چیزی پیدا کردم ولی بازم همین ایرور رو میده باید توی Remote Database Access Hosts
از سی پنل علامه % رو اضافه کنید ولی بازم کار نداد
سلام
آیا میشه دیتابیس رو در FTP قرار داد و بهش وصل شد
ممنون
یاعلی