我很难让所有这三个人和睦相处.我想我会列出所有各种配置,以及测试代码,看看是否有一双新鲜的眼睛可以实现我的愚蠢.
我正在运行12.04 Ubuntu Server,我正在尝试连接到MSSQL Server 2008并最终使用它与PyODBC.
但是,刚刚投入
tsql -S T2 -U Foo -P Bar
Run Code Online (Sandbox Code Playgroud)
我明白了
1>
2>
3>
4>
5>
6>
7>
8>
9>
10>
11>
Run Code Online (Sandbox Code Playgroud)
等等.
无论如何,如果有人能够提供帮助(如果你能让我清除这种阴霾,我将永远感激不尽),这是我目前的配置.
这是我的/etc/odbc.ini
[ODBC Data Sources]
odbcname = MySQL
T2 = MSSQL
[odbcname]
Driver = /usr/lib/odbc/libmyodbc.so
Description = MyODBC 3.51 Driver DSN
SERVER = Foobar
PORT = 3306
USER = Foo
Password = Bar
Database = Foobar
OPTION = 3
SOCKET =
[T2]
Driver = FreeTDS
Description = ODBC connection via FreeTDS
SERVER = …
Run Code Online (Sandbox Code Playgroud) 我正在进行一个查询,其中有12个条目名为"choice_1"到"choice_12".我希望能够根据它在循环中的位置动态调用单个选项.所以这是查询:
<CFQUERY DATASOURCE="tr3" NAME="qryUserMatchPref">
SELECT *
FROM UsrMatchPrefTR2
WHERE session = #sess# AND site = #siteFirst# AND user_id = #tempUser#
</CFQUERY>
Run Code Online (Sandbox Code Playgroud)
让我们说循环是第三次运行,我想检查choice_3,理论上我想要做这样的事情.
<cfset combined = "choice_" & counterChoice>
<cfset tempMatch = qryUserMatchPref.#combined#>
Run Code Online (Sandbox Code Playgroud)
如果counterChoice等于3,我当然会查询choice_3,而不是"组合"列中的内容[在这种情况下不存在].有没有办法在coldfusion中执行此操作,或者我注定要创建一系列非常繁琐的if语句?d:
所以Coldfusion今天表现得很糟糕.我似乎无法更新数据库.
例如,如果我尝试查询:
<CFQUERY DATASOURCE="tr3" NAME="qryData2">
SELECT *
FROM UsersExpDataTR2
WHERE session_id = 2 AND p1_id = 2 AND round = 3
</CFQUERY>
Run Code Online (Sandbox Code Playgroud)
qryData2.recordcount等于1.
但是当我尝试运行此代码时
<CFQUERY DATASOURCE="tr3" NAME="uMatch">
UPDATE UsersExpDataTR2
SET p1_total = 13 AND p1_fine = 1
WHERE session_id = 2 AND p1_id = 2 AND round = 3
</CFQUERY>
Run Code Online (Sandbox Code Playgroud)
p1_total的值变为0,p1_fine不会从其原始值更改.
我打算迟到重启服务器,但我希望我没有,如果有人能告诉我这些奇怪的答案?
注意:在代码本身我使用变量来存储和查询[显然].我只是用数字作为测试.
更新:它们都是整数数据类型.虽然在另一种情况下我也遇到了双重值的问题.