[RESOLVED] adodb mysql connection troubles
CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Page 1 of 2 12 LastLast
Results 1 to 15 of 24

Thread: [RESOLVED] adodb mysql connection troubles

  1. #1
    Join Date
    Sep 2011
    Posts
    12

    [RESOLVED] adodb mysql connection troubles

    Hello. I am working on a project where I need to connect to a mySQL server from vb6.

    I have written a php web-app for my client which has no troubles accessing the database --
    I have also written several database apps with vb using data from servers that I have put together myself. BUT I can't seem to figure out the connection string (or whatever else is missing) to connect to the same database that I can access easily with php.


    Below is the vb code that I am trying to connect with, followed by the php I use to access the same server. I've also provided a copy of the server info to confirm the sql version and driver compatibility)


    It errors with: "[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified." on the line con1.open cst


    Could someone point me in the right direction?

    The error message seems to me its saying two different things. ..But which one is causing the issue? I've specified a default driver (it may be incorrect, but it's specified ) And I'm not sure what else I would use for a data source name. Could it be having an issue with the fact that the server is routed through port 805? Is it possible there are missing drivers/software on the server that I would need to get installed? Should I be using a different method to connect from vb? Maybe it doesn't like the blank password? ... But it's complaining about the default driver and data source name... Sounds to me like its having connection issues :s

    Thanks in advance for any input.


    ===== VB6 CODE =======
    Dim con1 As New ADODB.Connection

    cst = "Driver={mySQL ODBC 5.1 Driver};Data Source=xxx.xxx.xxx.xxx;Port=805; Database=db_name;User=dbusr01; Password=;"

    con1.open cst



    ===== PHP ======
    <?
    $DBSERVER="xxx.xxx.xxx.xxx:805"; // database server
    $DBUSER="dbusr01"; // database user
    $DBPASS=""; // database password
    $DBNAME="db_name"; // database name

    $con_trucking = mysql_connect($DBSERVER, $DBUSER, $DBPASS) or die ("Error #721");

    mysql_select_db($DBNAME, $con_trucking);
    ?>



    ===== SERVER INFO =====

    MySQL

    * Server: localhost via TCP/IP
    * Server version: 5.1.33-community
    * Protocol version: 10
    * User: root@localhost
    * MySQL charset: UTF-8 Unicode (utf8)

    Web server

    * Apache/2.2.11 (Win32) DAV/2 mod_ssl/2.2.11 OpenSSL/0.9.8i PHP/5.2.9
    * MySQL client version: 5.0.51a
    * PHP extension: mysql
    Last edited by thephaze; September 22nd, 2011 at 08:25 AM. Reason: typo in connection string

  2. #2
    DataMiser is offline Super Moderator Power Poster
    Join Date
    Jul 2008
    Location
    WV
    Posts
    4,844

    Re: adodb mysql connection troubles

    Always use [code][/code] tags when posting code.

  3. #3
    Join Date
    Sep 2011
    Posts
    12

    Re: adodb mysql connection troubles

    Quote Originally Posted by DataMiser View Post
    Thanks for your reply, but it wasn't much help.
    (how much effort have you put into your 3000+ other posts??)

    I am assuming you meant for me to download and install the latest drivers for my local machine?

    I just did that and I am getting the same error. It doesn't make sense to me that I would have to install these on the server.

    Perhaps sharing some wisdom instead of a link would be a bit more helpful,

    Thanks.

  4. #4
    DataMiser is offline Super Moderator Power Poster
    Join Date
    Jul 2008
    Location
    WV
    Posts
    4,844

    Re: adodb mysql connection troubles

    The ODBC connector needs to be on the machine where the program is executing. If the code is executing on the server the the connector must be installed on the server.

    The link I gave you is to MySql.Com which contains pretty anything you would ever need to know about MySql.

    The error Datasource not found happens when you either do not have the correct driver installed or possibly if you provide an incorrect or inaccessible server name/address.

    As for effort in my posts I find that a bit less than polite and far from a good way to ask for help. You should be able to solve your issue with the link I provided and a little effort on your part.
    Last edited by DataMiser; September 20th, 2011 at 11:05 PM.
    Always use [code][/code] tags when posting code.

  5. #5
    Join Date
    Sep 2011
    Posts
    12

    Re: adodb mysql connection troubles

    Quote Originally Posted by DataMiser View Post
    ...or possibly if you provide an incorrect or inaccessible server name/address.
    That is what I thought....which is why I posted the php I am using and a detail of the server versions.

    Maybe I have the syntax wrong in my connection string and something is tripping up?

    What kind of things would make the server name or address inaccessible? Do I need an additional field in my connection string to define something further? Could it have to do with the port routing?

  6. #6
    Join Date
    Sep 2000
    Location
    FL
    Posts
    1,451

    Re: adodb mysql connection troubles

    Data Source=xxx.xxx.xxx.xxx

    Data Source is then name of a DSN setup in the ODBC connections for your computer.

    Also, port 805??? According to you php code, the default port setting for mysql was used, so the port would be 3306.

    First try getting things working through ODBC connection. If you can do that, you should be ok for the application.

  7. #7
    Join Date
    Sep 2011
    Posts
    12

    Re: adodb mysql connection troubles

    Quote Originally Posted by sotoasty View Post
    Data Source=xxx.xxx.xxx.xxx

    Also, port 805??? According to you php code, the default port setting for mysql was used, so the port would be 3306.
    Doesn't this line indicate to use port 805? Im pretty sure it gave me errors when I didn't specify a port: $DBSERVER="xxx.xxx.xxx.xxx:805"; // database server

    I've tried in vb to use "xxx.xxx.xxx.xxx:805" as the data source, as well as no port identification. Also tried the connection string with and without the port definition parameter.

    I've seen some implementations of the odbc connection string and they use a "server:xxx;" and an "address:xxx" parameter. There's obviously a difference between the two? or would this just be for different versions of the odbc connector? Could I be missing something like this?

  8. #8
    Join Date
    Sep 2000
    Location
    FL
    Posts
    1,451

    Re: adodb mysql connection troubles

    I didn't see that in the PHP code, sorry. But your error is probably in the

    Data Source=xxx.xxx.xxx.xxx


    Data Source should be your DSN name.

    Browse around www.connectionstrings.com

  9. #9
    Join Date
    Sep 2011
    Posts
    12

    Re: adodb mysql connection troubles

    Quote Originally Posted by sotoasty View Post
    Data Source=xxx.xxx.xxx.xxx

    First try getting things working through ODBC connection. If you can do that, you should be ok for the application.
    I've tried on an XP and win7, but neither will successfully pass the "test" button. Not only do they not pass, they make the mysql software stop responding (5 minutes, before I stopped the process).

    If I put xxx.xxx.xxx.xxx:805 for the server, it errors instantly. So I'm keeping the 805 where it should be, in the port input field.

    My drivers appear to be current and working fine, as I can connect to other servers with no issue.

    It seems to me I am missing some sort of credentials in the login? or maybe the server has a weird configuration restricting port access? what else should I be considering?

    Could it maybe not like the username? or the blank password? -- I figured there would be a different error message if this was the case though.

  10. #10
    Join Date
    Jan 2006
    Location
    Chicago, IL
    Posts
    14,984

    Re: adodb mysql connection troubles

    Ask the administrator to provide valid credentials. Pretty much impossible to guess with partial info.

    Also, take a look:

    http://paulbradley.tv/37/
    David

    CodeGuru Article: Bound Controls are Evil-VB6
    2013 Samples: MS CODE Samples

    CodeGuru Reviewer
    2006 Dell CSP
    2006, 2007 & 2008 MVP Visual Basic
    If your question has been answered satisfactorily, and it has been helpful, then, please, Rate this Post!

  11. #11
    Join Date
    Sep 2011
    Posts
    12

    Re: adodb mysql connection troubles

    Quote Originally Posted by dglienna View Post
    Ask the administrator to provide valid credentials. Pretty much impossible to guess with partial info.
    I'm not trying to guess. I'm trying to establish the reason as to why I am having this issue.

    I tried connecting again following the code from the link you provided (which was pretty much the same as my many other attempts).... BUT it still timesout and stops responding.

    Sure, I could ask the admin for "valid credentials"... but as far he and I are concerned, I shouldn't need anything more from him. If I am going to ask for "better credentials" I would at least like to know what I am asking for. I have root access to phpadmin and can create new users and databases for the sql server. I don't know what else he would be able to provide that would be able to help.

    ...what would make the mySql software stop responding and make vb stop responding and crash when I try to connect? I didn't have this issue with connections from other projects I have built.

  12. #12
    Join Date
    Jul 2006
    Location
    Germany
    Posts
    3,722

    Re: adodb mysql connection troubles

    Well, just a maybe stupid question:
    Is that
    Code:
    cst = "Driver={mySQL ODBC 5.1 Driver};Data Source=xxx.xxx.xxx.xxx;Port=805; Database=db_name";User=dbusr01; Password=;"
    the actual statement, or did you just mistype it here in the forum?
    Please follow the flow of the quotes and there is qite oviously an error.
    I only guess, that db_name is a variable holding the actual name of the database. So a properly concatenated open-string would be:
    Code:
    cst = "Driver={mySQL ODBC 5.1 Driver};Data Source=xxx.xxx.xxx.xxx;Port=805; Database=" & db_name & ";User=dbusr01; Password=;"

  13. #13
    Join Date
    Sep 2011
    Posts
    12

    Re: adodb mysql connection troubles

    Quote Originally Posted by WoF View Post
    Well, just a maybe stupid question:
    Is that the actual statement, or did you just mistype it here in the forum?
    Hi, thanks for actually taking the time to read what I posted

    Yes, it was a typo just on the forum post.

    In my actual application I am using a variable for the db_name, but for now I am just trying to get a connection to work with pretty much a blank form and a command button in vb (to narrow down possible issues).

    I can't establish a connection through the mySql connector software either. - It just 'stops responding'. I'm pretty sure I don't have any typos when filling in the required input fields.

    It feels like I'm missing a piece of the equation, but I don't know what it is...
    Last edited by thephaze; September 22nd, 2011 at 08:24 AM. Reason: lol - typo on msSql vs mySql

  14. #14
    DataMiser is offline Super Moderator Power Poster
    Join Date
    Jul 2008
    Location
    WV
    Posts
    4,844

    Re: adodb mysql connection troubles

    Are you sure you have access to connect to the database from a remote machine?
    Always use [code][/code] tags when posting code.

  15. #15
    Join Date
    Sep 2000
    Location
    FL
    Posts
    1,451

    Re: adodb mysql connection troubles

    Back now.

    It appears that you probably do not have the rights to access this db remotely. Try downloading the mysql workbench from the mysql site, and setting up your connection in that. If you can connect with that, you can connect through ODBC. If you can't your need to grant privileges on your user to access the MySQL server remotely. I am not sure how to do it through PHPAdmin, so you might have to google that. If you have direct access to the server, see here.

    http://dev.mysql.com/doc/refman/5.0/en/grant.html

Page 1 of 2 12 LastLast

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  


Windows Mobile Development Center


Click Here to Expand Forum to Full Width

This is a CodeGuru survey question.


Featured


HTML5 Development Center