Jump to content

Recommended Posts

Posted

Hi All,

I've run through the old posts regarding any SQL connect issues using _sql.au3, but all of the issues close to mine seem to have been a case of missing some type of login information.
 

I'm beginning to create a script to query a table from a database on MS SQL 2014, but am running into the "Operation is not allowed when the object is closed" error just trying to connect:

  Quote

 

>"C:Program Files (x86)AutoIt3SciTE..autoit3.exe" /ErrorStdOut "C:UsersmmeDocumentsScriptssql.au3"    

###############################
err.description is: [Microsoft][ODBC SQL Server Driver][sql Server]Login failed for user 'NCPUser'.
err.windescription: Exception occurred.
 
err.number is: 80020009
err.lastdllerror is: 0
err.scriptline is: 220
err.source is: Microsoft OLE DB Provider for ODBC Drivers
err.helpfile is:
err.helpcontext is: 0###############################
###############################
err.description is: Operation is not allowed when the object is closed.
err.windescription: Exception occurred.
 
err.number is: 80020009
err.lastdllerror is: 0
err.scriptline is: 373
err.source is: ADODB.Connection
err.helpfile is: C:WINDOWSHELPADO270.CHM
err.helpcontext is: 1240653###############################
>Exit code: 2    Time: 1.819
 

 

At this point I've only just used the example code to connect (note I've changed login information to hide the IP etc.)

#include <MsgBoxConstants.au3>
#Include <_sql.au3>

_SQL_RegisterErrorHandler()
$oADODB = _SQL_Startup()
If $oADODB = $SQL_ERROR Then
MsgBox(0 + 16, "SQL Error", "Error: " & _SQL_GetErrMsg())
Exit 3
EndIf

If _sql_Connect(-1, "10.x.x.x, "Data", "User", "Password") = $SQL_ERROR Then
MsgBox(0 + 16 + 262144, "Error", _SQL_GetErrMsg())
_SQL_Close()
Exit 2
Else
MsgBox(0,"Success","Successfully Connected")
_SQL_Close()
EndIf

Can anyone offer any suggestions on this?

Posted (edited)

  • Is the password meets the minimum requirements for SQL Server?
  • Is the password meets the minimum requirements for a Windows server?
  • What do you see in the SQL Server log?
  • Is the connection, eg. From Management Studio fails to establish, through the same configuration (client <> server) ?
EDIT:

 

hmm...

 

If _sql_Connect(-1, "10.x.x.x, "Data", "User", "Password") = $SQL_ERROR Then
Is your dog ate " sign/char ? Edited by mLipok

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

  Reveal hidden contents

Signature last update: 2023-04-24

  • Moderators
Posted (edited)

Missing a closing double quote on a string:

#include <MsgBoxConstants.au3>
#Include <_sql.au3>

_SQL_RegisterErrorHandler()
$oADODB = _SQL_Startup()
If $oADODB = $SQL_ERROR Then
    MsgBox(0 + 16, "SQL Error", "Error: " & _SQL_GetErrMsg())
    Exit 3
EndIf

; you had
; If _sql_Connect(-1, "10.x.x.x, "Data", "User", "Password") = $SQL_ERROR Then
If _sql_Connect(-1, "10.x.x.x", "Data", "User", "Password") = $SQL_ERROR Then
    MsgBox(0 + 16 + 262144, "Error", _SQL_GetErrMsg())
    _SQL_Close()
    Exit 2
Else
    MsgBox(0,"Success","Successfully Connected")
    _SQL_Close()
EndIf

Edit:

No idea if that fixes your issue, it shouldn't because Au3Check should have caught it, I'm merely pointing out that your replication script was messed up.

Edited by SmOke_N

Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer.

Posted

  On 1/13/2015 at 7:09 PM, mLipok said:

 

  •  
  • Is the password meets the minimum requirements for SQL Server?
  • Is the password meets the minimum requirements for a Windows server?
  • What do you see in the SQL Server log?
  • Is the connection, eg. From Management Studio fails to establish, through the same configuration (client <> server) ?
EDIT:

 

hmm...

 

If _sql_Connect(-1, "10.x.x.x, "Data", "User", "Password") = $SQL_ERROR Then
Is your dog ate " sign/char ?

 

 

I was able to get a hold of the DB admin, they checked the server logs, which revealed my problem. They relocated the database to another server without announcing it. While the server was accepting my connection, the database didn't exist there anymore, which was causing my problem. Thank you for your help.

Posted
  On 1/13/2015 at 9:02 PM, SmOke_N said:

Missing a closing double quote on a string:

#include <MsgBoxConstants.au3>
#Include <_sql.au3>

_SQL_RegisterErrorHandler()
$oADODB = _SQL_Startup()
If $oADODB = $SQL_ERROR Then
    MsgBox(0 + 16, "SQL Error", "Error: " & _SQL_GetErrMsg())
    Exit 3
EndIf

; you had
; If _sql_Connect(-1, "10.x.x.x, "Data", "User", "Password") = $SQL_ERROR Then
If _sql_Connect(-1, "10.x.x.x", "Data", "User", "Password") = $SQL_ERROR Then
    MsgBox(0 + 16 + 262144, "Error", _SQL_GetErrMsg())
    _SQL_Close()
    Exit 2
Else
    MsgBox(0,"Success","Successfully Connected")
    _SQL_Close()
EndIf

Edit:

No idea if that fixes your issue, it shouldn't because Au3Check should have caught it, I'm merely pointing out that your replication script was messed up.

Good catch. That was my mistake from altering the IP address. The original script has proper closing quote. 

Posted

  On 1/13/2015 at 9:22 PM, kram said:

Good catch. That was my mistake from altering the IP address. The original script has proper closing quote.

:)

exactly what I say here :) 

 

  On 1/13/2015 at 7:09 PM, mLipok said:

hmm... 

If _sql_Connect(-1, "10.x.x.x, "Data", "User", "Password") = $SQL_ERROR Then
Is your dog ate " sign/char ?

 

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

  Reveal hidden contents

Signature last update: 2023-04-24

Posted

  On 1/13/2015 at 9:22 PM, kram said:

Good catch. That was my mistake from altering the IP address. The original script has proper closing quote.

:)

exactly what I say here :

  On 1/13/2015 at 7:09 PM, mLipok said:

hmm... 

If _sql_Connect(-1, "10.x.x.x, "Data", "User", "Password") = $SQL_ERROR Then
Is your dog ate " sign/char ?

 

Edit:

 

  On 1/13/2015 at 9:22 PM, kram said:

I was able to get a hold of the DB admin, they checked the server logs, which revealed my problem. They relocated the database to another server without announcing it. While the server was accepting my connection, the database didn't exist there anymore, which was causing my problem. Thank you for your help.

:)

such a life, a developer, is informed of all the latest

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

  Reveal hidden contents

Signature last update: 2023-04-24

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...