Как да свържа Delphi приложение с MySQL базаданни под cpanel
Здравейте,
Имам една база данни създадена под MySQL, но не мога да се вържа към нея чрез Delphi, DBExpress. Базата данни е конфигурирана за достъп, но Delphi-то не иска да ме свърже ... когато се опитам да дам от Обджект Инспектора Connected = true, ми дава грешка:
"dbExpess Error: [0x00C] Invalid Username/password
SQL server error: Can't connect to MySQL server on 'localhost' (10061)
Ето и настройките на SQLConnection:
Database=mysiteuser_databasename
DriverName=MYSQL
ErrorResourceFile=
HostName=http://www.mysite.com:3306
LocaleCode=0001
Password=moiataparola
User_Name=mysiteuser_userdatabase
Аз съм новак в областта на базите данни, но от това което разбирам е, че не иска да ме върже към хост, а търси MySQL server на моя комп.
Използвам Delphi SE v.7.2.
Ако ми дадете някой туториал за връзка на delphi приложение към mysql, ще съм ви също благодарен.
Re: Как да свържа Delphi приложение с MySQL базаданни под cpanel
По-скоро ти казва, че юзерът и паролата на базата са други.
Re: Как да свържа Delphi приложение с MySQL базаданни под cpanel
интересното е че това го дава каквото и да напиша в настройките ... какъвто и хост, каквато и база данни, какъвто и да е юсер, все едно и също дава ...
аз имам пълен контрол на MySQL server-a и съм направил юсер и пас, права за достъп за моя IP address, дори пробвах права за достъп до всички IP-та. Премахвал съм всички firewall-и ... не мога да намеря грешката.
може би принципа ми за вързване към MySQL server-a е грешен :(
Re: Как да свържа Delphi приложение с MySQL базаданни под cpanel
А имаш ли някакъв SQL-Manager с който да се свързваш с тази база?
Примерно PhpMyAdmin или нещо подобно.
Имаш ли достъп да се връзваш с нея през конзола?
Re: Как да свържа Delphi приложение с MySQL базаданни под cpanel
Без да претендирам че разбирам, но нещо не се връзва. Делфито ти дава грешка за 'localhost' , а ти казваш, че настройките ти са ....HostName=http://www.mysite.com:3306. Това откъде го вземаш?
Re: Как да свържа Delphi приложение с MySQL базаданни под cpanel
Да.
На няколко места из нета намирам да е обсъждан същия проблем.
Хората съветват да опиташ да намериш друга версия на libmysql.dll и да опиташ отново с нея.
Re: Как да свържа Delphi приложение с MySQL базаданни под cpanel
В CPanel-a имам PhpMyAdmin, но не знам за какво да служи. Иначе, до преди 2 дни бях с Delphi 7. Там проблема беше че въпросната библиотека не можеше да бъде намерена. Изтеглих най-новата и пак не стана. Тогава стигнах до извода, че Delphi-то не е съвсем в час. Изтеглих въпросния update, който съм написал и вече проблема се пренесе на друго ниво.
Относно настройката на Хост-а ... когато сложа в формата си SQLConnection компонент от DBExpress менюто, този бутон има настройки в Object Inspector. Една от тях е parameters, където се въвеждат данни за mysql connection-a. Там заедно с Хост, се добавя юсер,парола, име на база данни.
Но въпроса защо търси localhost, вместо онлайн база данни още не мога да разреша. Сега ще пробвам да инсталирам DAC компонент за MySQL. Дано помогне.
Но ако имате други идеи, ще съм Ви благодарен.
Re: Как да свържа Delphi приложение с MySQL базаданни под cpanel
PhpMyAdmin може да ти създаде връзка с базата през браузер.
Чрез това можеш да разбереш дали MySQL-сървъра е стартиран и работи коректно и дали са верни юзера и паролата.
Обаче, както разбирам от нещата на които попаднах, съобщението за грешен юзер/парола е подвеждащо и най-вероятно проблемът е другаде.
Ето например тук е репортнато май същото:
http://qc.codegear.com/wc/qcmain.aspx?d=43293
Преди година и без отговор.
Има някакъв платен плъгин (70 долара), за който казват, че няма толкова проблеми.
Общо-взето хората казват за по-сигурно да се ползва ODBC....
Re: Как да свържа Delphi приложение с MySQL базаданни под cpanel
Filiponder, :)
с Делфи-то нямам голям опит, затова ще пиша само общи неща за връзка с MySQL.
дай малко повече инфо за цялата конфигурация - сървър: Apache или MS IIS, Windows-ки или Linux-ки, какво трябва да направиш с тази база данни?
Cpanel (cpanel.com) има връзка с MySQL, но не е нужно - може да направиш връзка и през PHP, PostgreSQL, BDE или ODBC
Ако искаш да ползваш MySQL на собствения компютър, трябва да имаш инсталиран Web Server- Apache или IIS (на WinXP/2003)
localhost е ник-нейм на твоят локален комп., а http://www.mysite.com:3306 е името на web-server-а към който искаш да се закачиш, заедно с порт-а 3306. Този порт трябва да е отворен (от firewall-а), за да можеш дистанционно да се конект-неш, на локалният комп. също трябва да е отворен порта. localhost или www.mysite.com може да се замени с IP-то на сървъра: localhost = 127.0.0.1 стандартно IP.
Специално за Delphi/MySQL, ето какво казва Гугъл: http://www.google.bg/search?hl=bg&q=...+mysql+connect
Top 10 Dephi components to access MySQL - http://delphi.about.com/od/mysql/tp/aatpmysql.htm
How To Use MySQL With Delphi - http://www.programmersheaven.com/art...sql_tut-p1.htm
-> от http://delphi.about.com/b/2003/08/22...-and-mysql.htm
Цитат:
i had the same problem , but managed to sort it out now , when i set my connected status to true it gives me a dbexpress error invalid user name password , but i set the login prompt prоperties to false and took the password off my connection which is msconnection…
виждам и тук: AnyDAC - http://www.da-soft.com/component/opt...,55/Itemid,90/
Re: Как да свържа Delphi приложение с MySQL базаданни под cpanel
Здравей Мето, радвам се да те вида :)
Става въпрос за последня софтуер за Ферион дето направих. Искам да го продавам през нета, но за целта искам да направя малко верификации и да го направя по-сигурен като прави проверка към база данни.
Няма значение какъв тип база данни са, стига да може да ги поддаржа CPanel и да мога да ги манипулирам с delphi приложението.
нека дам нещо конкретно.
host: vrazki.com
user: vrazkic_ferion
pass: 123456
database: vrazkic_ferion
тук в PHPAdmin пише това за sql server-a
Variable Session value / Global value
auto increment increment 1
auto increment offset 1
automatic sp privileges ON
back log 50
basedir /usr/local/
binlog cache size 32,768
bulk insert buffer size 8,388,608
character set client utf8
character set connection utf8
character set database utf8
character set filesystem binary
character set results utf8
character set server utf8
character set system utf8
character sets dir /usr/local/share/mysql/charsets/
collation connection utf8_unicode_ci
(Global value) utf8_general_ci
collation database utf8_general_ci
collation server utf8_general_ci
completion type 0
concurrent insert 1
connect timeout 5
datadir /var/db/mysql/
date format %Y-%m-%d
datetime format %Y-%m-%d %H:%i:%s
default week format 0
delay key write ON
delayed insert limit 100
delayed insert timeout 300
delayed queue size 1,000
div precision increment 4
keep files on create OFF
engine condition pushdown OFF
expire logs days 0
flush OFF
flush time 0
ft boolean syntax + -><()~*:""&|
ft max word len 84
ft min word len 4
ft query expansion limit 20
ft stopword file (built-in)
group concat max len 1,024
have archive NO
have bdb NO
have blackhole engine NO
have compress YES
have crypt YES
have csv NO
have dynamic loading NO
have example engine NO
have federated engine NO
have geometry YES
have innodb YES
have isam NO
have merge engine YES
have ndbcluster NO
have openssl NO
have ssl NO
have query cache YES
have raid NO
have rtree keys YES
have symlink YES
hostname FeLiX.TopHost.bg
init connect
init file
init slave
innodb additional mem pool size 1,048,576
innodb autoextend increment 8
innodb buffer pool awe mem mb 0
innodb buffer pool size 8,388,608
innodb checksums ON
innodb commit concurrency 0
innodb concurrency tickets 500
innodb data file path ibdata1:10M:autoextend
innodb data home dir
innodb doublewrite ON
innodb fast shutdown 1
innodb file io threads 4
innodb file per table ON
innodb flush log at trx commit 1
innodb flush method
innodb force recovery 0
innodb lock wait timeout 50
innodb locks unsafe for binlog OFF
innodb log arch dir
innodb log archive OFF
innodb log buffer size 1,048,576
innodb log file size 5,242,880
innodb log files in group 2
innodb log group home dir ./
innodb max dirty pages pct 90
innodb max purge lag 0
innodb mirrored log groups 1
innodb open files 300
innodb rollback on timeout OFF
innodb support xa ON
innodb sync spin loops 20
innodb table locks ON
innodb thread concurrency 8
innodb thread sleep delay 10,000
interactive timeout 28,800
join buffer size 131,072
key buffer size 402,653,184
key cache age threshold 300
key cache block size 1,024
key cache division limit 100
language /usr/local/share/mysql/english/
large files support ON
large page size 0
large pages OFF
lc time names en_US
license GPL
local infile ON
locked in memory OFF
log OFF
log bin OFF
log bin trust function creators OFF
log error
log queries not using indexes OFF
log slave updates OFF
log slow queries ON
log warnings 1
long query time 10
low priority updates OFF
lower case file system OFF
lower case table names 0
max allowed packet 10,484,736
max binlog cache size 18446744073709551615
max binlog size 1,073,741,824
max connect errors 10
max connections 500
max delayed threads 20
max error count 64
max heap table size 16,777,216
max insert delayed threads 20
max join size 18446744073709551615
max length for sort data 1,024
max prepared stmt count 16,382
max relay log size 0
max seeks for key 18446744073709551615
max sort length 1,024
max sp recursion depth 0
max tmp tables 32
max user connections 50
max write lock count 18446744073709551615
multi range count 256
myisam data pointer size 6
myisam max sort file size 9223372036854775807
myisam recover options OFF
myisam repair threads 1
myisam sort buffer size 67,108,864
myisam stats method nulls_unequal
net buffer length 8,192
net read timeout 30
net retry count 1,000,000
net write timeout 60
new OFF
old passwords OFF
open files limit 12,000
optimizer prune level 1
optimizer search depth 62
pid file /var/db/mysql/FeLiX.TopHost.bg.pid
port 3,306
preload buffer size 32,768
profiling OFF
profiling history size 15
protocol version 10
query alloc block size 8,192
query cache limit 1,048,576
query cache min res unit 4,096
query cache size 33,554,432
query cache type ON
query cache wlock invalidate OFF
query prealloc size 8,192
range alloc block size 2,048
read buffer size 8,200
read only OFF
read rnd buffer size 8,200
relay log purge ON
relay log space limit 0
rpl recovery rank 0
secure auth OFF
secure file priv
server id 0
skip external locking ON
skip networking OFF
skip show database OFF
slave compressed protocol OFF
slave load tmpdir /var/tmp/
slave net timeout 3,600
slave skip errors OFF
slave transaction retries 10
slow launch time 2
socket /tmp/mysql.sock
sort buffer size 2,097,144
sql big selects ON
sql mode
sql notes ON
sql warnings OFF
ssl ca
ssl capath
ssl cert
ssl cipher
ssl key
storage engine MyISAM
sync binlog 0
sync frm ON
system time zone EET
table cache 256
table lock wait timeout 50
table type MyISAM
thread cache size 0
thread stack 262,144
time format %H:%i:%s
time zone SYSTEM
timed mutexes OFF
tmp table size 33,554,432
tmpdir /var/tmp/
transaction alloc block size 8,192
transaction prealloc size 4,096
tx isolation REPEATABLE-READ
updatable views with limit YES
version 5.0.51-log
version comment FreeBSD port: mysql-server-5.0.51
version compile machine amd64
version compile os portbld-freebsd7.0
wait timeout 8
Идеята е всичко да е автоматизирано и да не съм зависим от включен домашен компютър за база данни.
снощи опитах всевъзможни компоненти на delphi за връзка с mysql ... започвам да се чудя, дали причината не е в самия mysql server. :taz
Re: Как да свържа Delphi приложение с MySQL базаданни под cpanel
Доколкото виждам, порт 3306 не е отворен на vrazki.com
иначе инициализационния стринг за ADO компонента би трябвало да е този:
Код:
Provider=MSDASQL.1;Persist Security Info=False;User ID=root;Extended Properties="DATABASE=mysql;DRIVER={MySQL ODBC 3.51 Driver};OPTION=0;PORT=3306;SERVER=vrazki.com;UID=vrazkic_ferion;password=123456"
Re: Как да свържа Delphi приложение с MySQL базаданни под cpanel
and the conclusion:
в крайна сметка се оказа, че MySQL-a през CPanel, който предлагат tophost.bg има възможност да бъде ползван само локално, т.е. не може да се ползва дистанционно чрез Delphi приложение както аз го искам.
И както се казва в такав момент, вече имат 1 клиент по-малко :)
Споменаха че трябва да се наема отделен сървен ... някой да може да ме насочи ?
Re: Как да свържа Delphi приложение с MySQL базаданни под cpanel
Чудесно, вързах се към MySQL server, сложен на компа по лан-а ми.
Някой да може да ме открехне на командите за манипълиране на базата данни? Трябва ми да проверявам даден запис дали съществува в таблицата, и ако не, да добави към даден запис, други стойности. Ако имаме поле A,B,C ... ако А=x и (B и C) = 0, то B=y, C=z.
Почнал съм да правя връзките с DBExpress ... и съм стигнал до готова връзка с SQLConnection. От там нататак нямам идея какво да правя :(
host: 10.0.0.2
database: animals
table: pet
user: root
pass: 123456
fields: A-name, B-sex, C-birth
Ще съм ви благодарен ако ми кажете как да манипулирам записите. Щета хелпа и нищо не стоплям :(
Re: Как да свържа Delphi приложение с MySQL базаданни под cpanel
Не че ми стана много ясно, но трябва да е нещо такова:
Код:
UPDATE `pet` SET `sex`='y', `birth`='z' WHERE `name` = 'x' AND IS NULL `sex` AND IS NULL `birth`;
Re: Как да свържа Delphi приложение с MySQL базаданни под cpanel
идеята е че ми трябват delphi командите за манипулиране на MySQL таблици ... не SQL командите за SQL таблици.