• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

mysql dn ver çekmek (sitedemdeki veritabanı)

  • Konbuyu başlatan Konbuyu başlatan ozdogan
  • Başlangıç tarihi Başlangıç tarihi
Katılım
1 Mart 2006
Mesajlar
98
Excel Vers. ve Dili
...::Meleğim::...
Merhaba
Bir eticaret sitem var. mysql veritabı var. bu sitemin veritabanından siparişler tablosunu excele çekebilirmiyim acaba?
Bu kondua yardımcı olursanız sevinirim
Saygılarımla
 
Merhaba,
bildiğim kadarı ile hosting şirketleri
panel dışında veritabanına erişime izin vermiyorlar.
 
Öncelikle Mehmet Bey'in dediği gibi eğer ulaşabiliyorsanız panelden veritabanı ve kullanıcı yönetiminden
sizin IP adresinize yetki vermeniz ya da hizmet aldığınız yerden sizin IP'niz için yetki vermelerini istemeniz gerekiyor.

Sonrasında https://dev.mysql.com/downloads/connector/odbc/3.51.html adresinden işletim sisteminize göre (32bit/64bit) ilgili Connector'ı yükleyin.

En sonunda da aşağıda kodları kullanabilirsiniz. Kırmızı renk ile belirttiğim yerlere sitenize ait bilgileri gireceksiniz.

Kod:
[FONT="Trebuchet MS"][SIZE="2"]Sub Emre()
    Set rs = CreateObject("Adodb.Recordset")
    Set con = CreateObject("Adodb.Connection")
    Server_Name = "[COLOR="Red"]Buraya Server IP ya da Web Site Adı[/COLOR]"
    Database_Name = "[COLOR="red"]Buraya Veritabanı Adı[/COLOR]"
    User_ID = "[COLOR="red"]Buraya Kullanıcı Adı[/COLOR]"
    Password = "[COLOR="red"]Buraya Parola[/COLOR]"
    port = "3306"
    con.Open = "Driver={[COLOR="blue"]MySQL ODBC 3.51 Driver[/COLOR]};Server=" & Server_Name & _
                    ";Port=" & port & _
                    ";Database=" & Database_Name & _
                    ";User=" & User_ID & _
                    ";Password=" & Password & _
                    ";Option=4;"
    MsgBox "bağlandı"
    sorgu = "Select * from [COLOR="red"]tabloadı[/COLOR]"
    rs.Open sorgu, con, 1, 3
    Range("A2").CopyFromRecordset rs
    rs.Close: con.Close
End Sub[/SIZE][/FONT]
 
Osman Bey Merhaba ;

ilk olarak paylaştığınız kodu arıyordum . Direk çalıştır teşekkürler

Mysql veri ekleme yapabildim. Çalışıyor

Bir iki sorum olacak size


Birincisi veri eklerken türkçe karakter sorunu yaşıyorum. Hem latin 5 denedim hem utf 8 . myphpadmin den listeyi gözatıyorum . türkçe karakter sorunu var.

Bu konuda yardımınızı bekliyorum
Kod:
Private Sub CommandButton1_Click()
' KAYIT EKLEME*******************

    Set rs = CreateObject("Adodb.Recordset")
    Set con = CreateObject("Adodb.Connection")
    Server_Name = "www.******.com.tr"
    Database_Name = "*****"
    User_ID = "*****"
    Password = "*****"
    port = "3306"
    con.Open = "Driver={MySQL ODBC 3.51 Driver};Server=" & Server_Name & _
                    ";Port=" & port & _
                    ";Database=" & Database_Name & _
                    ";User=" & User_ID & _
                    ";Password=" & Password & _
                    ";Option=4;"
   
    sorgu = "Select * from firma"
    rs.Open sorgu, con, 1, 3
    rs.Addnew


rs("kod").Value = Range("kod").Value
rs("fadi").Value = Range("fadi").Value
rs("fadres").Value = Range("fadres").Value
rs("sadi").Value = Range("sadi").Value
rs("sadres").Value = Range("sadres").Value
rs("vergino").Value = Range("vergino").Value
rs("vergida").Value = Range("vergida").Value
rs("telefon").Value = Range("telefon").Value
rs("fax").Value = Range("fax").Value
rs("email").Value = Range("email").Value
rs("kisi").Value = Range("kisi").Value

rs.Update
    
    rs.Close: con.Close

İkincisi veri sorgulamada sorun yaşıyorum. Sorgu yöntemimde hata var.

Kod:
Private Sub CommandButton3_Click()
' KAYIT EKLEME*******************

    Set rs = CreateObject("Adodb.Recordset")
    Set con = CreateObject("Adodb.Connection")
    Server_Name = "****"
    Database_Name = "***"
    User_ID = "***"
    Password = "***"
    port = "3306"
    con.Open = "Driver={MySQL ODBC 3.51 Driver};Server=" & Server_Name & _
                    ";Port=" & port & _
                    ";Database=" & Database_Name & _
                    ";User=" & User_ID & _
                    ";Password=" & Password & _
                    ";Option=4;"
   
   
    sorgu = "Select * from firma where kod='Range("kod").Value '"
    rs.Open sorgu, con, 1, 3
   
If rs.RecordCount > 0 Then
 On Error Resume Next
  Range("kod").Value = ""
 Range("fadi").Value = ""
Range("fadres").Value = ""
  Range("sadi").Value = ""
Range("sadres").Value = ""
 Range("vergino").Value = ""
 Range("vergida").Value = ""
 Range("telefon").Value = ""
Range("fax").Value = ""
  Range("email").Value = ""
Range("kisi").Value = ""
 Range("kod").Value = rs("kod").Value
 Range("fadi").Value = rs("fadi").Value
Range("fadres").Value = rs("fadres").Value
  Range("sadi").Value = rs("sadi").Value
Range("sadres").Value = rs("sadres").Value
 Range("vergino").Value = rs("vergino").Value
 Range("vergida").Value = rs("vergida").Value
 Range("telefon").Value = rs("telefon").Value
Range("fax").Value = rs("fax").Value
  Range("email").Value = rs("email").Value
Range("kisi").Value = rs("kisi").Value

Else
MsgBox "CİHAZ KAYITLI DEĞİL ! LÜTFEN BİLGİLERİ ELLE DOLDURUN VE KAYIT EDİN"
End If
    
    rs.Close: con.Close
End Sub

Konu hakkında yardımlarınızı bekliyorum. İyi Çalışmalar
 
Merhaba Sn. hlojan,

Öncelikle adım Murat.

Sitenizin alt yapısı nedir?
WordPress?
OpenChart?
vs.
 
Anladım.

WordPress veya OpenChart olsaydı daha net yardımcı olabilirdim.

Ben ayarlar için bu kodları kullanıyorum.

Kod:
[SIZE="2"]<?php
header("Content-Type: text/html; charset=utf-8");  
$host = "localhost";
$dbadi = "vtadi"; // Veritabanı ismi
$dbkadi="kul.adi"; // Veritabanı kullanıcı adı
$dbsifre = "vtparola"; // Veritabanı şifresi

$baglanti = @mysql_connect($host,$dbkadi,$dbsifre) or die ("Veritabanı bağlantısı yapılamadı.");
mysql_select_db($dbadi,$baglanti) or die ("Veritabanı seçilemedi.");

mysql_query("SET NAMES 'UTF8'");
mysql_query("SET character_set_connection = 'UTF8'");
mysql_query("SET character_set_client = 'UTF8'");
mysql_query("SET character_set_results = 'UTF8'");

?>[/SIZE]

Normalde yeterli oluyor ama yine de Türkçe karakterleri değiştirip veritabanına yüklerken tekrar dönüştürme işlemini de gerçekleştiriyorum.

Bu kodlarla sayfadaki Türkçe karakterleri değiştiriyorum.
Kod:
[SIZE="2"]Sub Degistir()
    Cells.Replace What:="ç", Replacement:="(/*1)", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
        ReplaceFormat:=False
    Cells.Replace What:="Ç", Replacement:="(/*2)", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
        ReplaceFormat:=False
    Cells.Replace What:="ğ", Replacement:="(/*3)", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
        ReplaceFormat:=False
    Cells.Replace What:="Ğ", Replacement:="(/*4)", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
        ReplaceFormat:=False ', LookAt:=XlPart
    Cells.Replace What:="ü", Replacement:="(/*5)", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
        ReplaceFormat:=False ', LookAt:=XlPart
    Cells.Replace What:="Ü", Replacement:="(/*6)", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
        ReplaceFormat:=False ', LookAt:=XlPart
    Cells.Replace What:="ş", Replacement:="(/*7)", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
        ReplaceFormat:=False ', LookAt:=XlPart
    Cells.Replace What:="Ş", Replacement:="(/*8)", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
        ReplaceFormat:=False ', LookAt:=XlPart
    Cells.Replace What:="ö", Replacement:="(/*11)", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
        ReplaceFormat:=False ', LookAt:=XlPart
    Cells.Replace What:="Ö", Replacement:="(/*12)", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
        ReplaceFormat:=False ', LookAt:=XlPart
    Cells.Replace What:="é", Replacement:="(/*13)", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
        ReplaceFormat:=False ', LookAt:=XlPart
    Cells.Replace What:="İ", Replacement:="(/*14)", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
        ReplaceFormat:=False
        Cells.Replace What:="ı", Replacement:="(/*10)", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
        ReplaceFormat:=False ', LookAt:=XlPart
End Sub[/SIZE]


Bu Php fonksiyonu ile de tekrar Türkçe'ye çeviriyorum.

Kod:
[SIZE="2"]/*
ç => (/*1)
Ç => (/*2)
ğ => (/*3)
Ğ => (/*4)
ü => (/*5)
Ü => (/*6)
ş => (/*7)
Ş => (/*8)
İ => (/*9)
ı => (/*10)
ö => (/*11)
Ö => (/*12)
é => (/*13)
İ => (/*14)
*/
function v_($veri){
$veri = str_replace("(/*1)","ç",$veri);
$veri = str_replace("(/*2)","Ç",$veri);
$veri = str_replace("(/*3)","ğ",$veri);
$veri = str_replace("(/*4)","Ğ",$veri);
$veri = str_replace("(/*5)","ü",$veri);
$veri = str_replace("(/*6)","Ü",$veri);
$veri = str_replace("(/*7)","ş",$veri);
$veri = str_replace("(/*8)","Ş",$veri);
$veri = str_replace("(/*9)","İ",$veri);
$veri = str_replace("(/*10)","ı",$veri);
$veri = str_replace("(/*11)","ö",$veri);
$veri = str_replace("(/*12)","Ö",$veri);
$veri = str_replace("(/*13)","é",$veri);
$veri = str_replace("(/*14)","İ",$veri);
$veri = str_replace("(noktalıvirgul)",";",$veri);
return $veri;
}[/SIZE]

Bu arada, sitenizdeki Teklif menüsünde Kariyer yazıyor.
 
Anladım.
Basit bir yöntemi yok. Ben sitemden bağımsız mysql tablosunu excelde kullanmak istiyiyorum

Kod:
Driver={MySQL ODBC 3.51 Driver};Server=localhost;Database=dbtest; User=user1;Password=mysql;Option=3;CharSet=utf8;

Dün gece 2 3 saat araştırdım bu kodu buldum ama charset ekleniyormuş ama sizin koda uyarlayamadım

Sub Değiştir kodlarını deneyeceğim.

Bu arada Php de baya amatörüm. Kodları çözüyorum ve büyük zevk alıyorum. Kariyer teklif farkını farkındayım. İnaşşlah öğrendikce toparlıcam siteyi

https://www.connectionstrings.com/mysql-connector-odbc-3-51/

Bu siteden baya denedim ama sizin koda otutturamadım :D option mantığı 4 sizde bendeki 3
kafam karıştı :)

birde : ; " ' gibi ayraçları tutturamıyorum

:D

İlginiz için teşekkür ederim
 
Php versiyonuna göre değişiyor diye biliyorum.
Benim de pek bir bilgim yok ancak deneme yanılma araştırma üzerine bir şeyler karalıyorum. :ok::

Bağlantı metnine CharSetibu şekilde ekleyebilirsiniz;
Kod:
[SIZE="2"]    con.Open = "Driver={MySQL ODBC 3.51 Driver};Server=" & Server_Name & _
                    ";Port=" & port & _
                    ";Database=" & Database_Name & _
                    ";User=" & User_ID & _
                    ";Password=" & Password & _
                    ";Option=4;" & _
                    "[COLOR="Red"];CharSet=utf8;[/COLOR]"[/SIZE]
Sizin yerinizde olsam; bu konu ile alâkalı PHP desteği veren bir yerde çözüm arardım.
 
Oley beeeeee :D
Kod:
   con.Open = "Driver={MySQL ODBC 3.51 Driver};Server=" & Server_Name & _
                    ";Port=" & port & _
                    ";Database=" & Database_Name & _
                    ";User=" & User_ID & _
                    ";Password=" & Password & _
                    ";Option=4;" & _
                    ";CharSet=latin5;"
                    
    sorgu = "Select * from firma "
    rs.Open sorgu, con, 1, 3

https://yadi.sk/i/GnxE6EfB3Cf4LQ

utf8 yerine latin 5 deneyince oldu. Teşekkürler murat bey


Murat bey ilk mesajımda 2.sorumda yardımcı olabilirmisiniz

Eklemeyi yaptım. Bulma ve güncelleme yapmak istiyorum. Normalde Ado ile Acces kodlarım var ama Mysql da çalışmadı

Sorguyu yazsanız yeter ben tamamlarım
 
Yardımcı olabildiğime sevindim. :)

Bu şekilde deneyiniz.

Kod:
[SIZE="2"]sorgu = "Select * from firma where kod='" & Range("kod").Value & "'"[/SIZE]
 
Geri
Üst