ScriptBasic
Extension Modules => Extension Modules => MySQL => Topic started by: Support on May 15, 2006, 05:58:34 am
-
Original MySQL Documentation (http://www.scriptbasic.org/docs/mysql/mod_mysql_toc.html)
-
mysql::RealConnect(host,user,password,database [,port])
Does it work on non-local connections?
I am trying on different external mysql servers and only receive error.
(0): error 0x00080002:Extension specific error: %s
Ty
-
Many MySQL servers don't allow external connections due to abuse and resource utilization trying to access it by brute force.
I would try accessing the server with Excel / ODBC just to make sure you have access rights, If all is good there, we can dig a little deeper why the SB extension module is returning an extension error.
-
I can connect without problems with the command > mysql -u
To test, I have created a database in a free hosting.
include mysql.bas
dbh = mysql::RealConnect("sql8.freemysqlhosting.net","sql8183953","N9yUkvribn","sql8183953","3306")
PRINT "Host info is: ",mysql::GetHostInfo(dbh),"\n"
mysql -u sql8183953 -h sql8.freemysqlhosting.net -p
-
I'm not sure but sending the port number as a string may be causing a problem.
My guess is at this point you're getting a CR_CONN_HOST_ERROR response error message.
Update
My guess was correct and not passing the port number as a string allowed me to connect to your remote MySQL server with the Script BASIC extension module.
include mysql.bas
dbh = mysql::RealConnect("sql8.freemysqlhosting.net","sql8183953","N9yUkvribn","sql8183953",3306)
PRINT "Host info is: ",mysql::GetHostInfo(dbh),"\n"
jrs@jrs-laptop:~/sb/examples/test$ scriba mysql_remote.sb
Host info is: sql8.freemysqlhosting.net via TCP/IP
jrs@jrs-laptop:~/sb/examples/test$
Here is an example of querying the MySQL information_schema tables.
IMPORT mysql.bas
dbh = mysql::RealConnect("sql8.freemysqlhosting.net","sql8183953","N9yUkvribn","sql8183953",3306)
mysql::query(dbh,"SELECT * FROM INFORMATION_SCHEMA.TABLES")
WHILE mysql::FetchHash(dbh,tbls)
FOR x = 0 TO UBOUND(tbls) STEP 2
PRINT tbls[x]," - ",tbls[x+1],"\n"
NEXT
PRINTNL
WEND
mysql::Close(dbh)
-
Thanks, you've been a great help.